home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 April: Mac OS SDK / Dev.CD Apr 99 SDK1.toast / Development Kits / Interfaces&Libraries / Universal / Interfaces / ComponentIncludes / QuickTimeComponents.k.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-08-17  |  84.8 KB  |  1,681 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        QuickTimeComponents.k.h
  3.  
  4.      Contains:    QuickTime Interfaces.
  5.  
  6.      Version:    Technology:    QuickTime 3.0
  7.                  Release:    Universal Interfaces 3.2
  8.  
  9.      Copyright:    © 1990-1998 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. */
  17. #ifndef __QUICKTIMECOMPONENTS_K__
  18. #define __QUICKTIMECOMPONENTS_K__
  19.  
  20. #include <QuickTimeComponents.h>
  21.  
  22. /*
  23.     Example usage:
  24.  
  25.         #define CLOCK_BASENAME()    Fred
  26.         #define CLOCK_GLOBALS()    FredGlobalsHandle
  27.         #include <QuickTimeComponents.k.h>
  28.  
  29.     To specify that your component implementation does not use globals, do not #define CLOCK_GLOBALS
  30. */
  31. #ifdef CLOCK_BASENAME
  32.     #ifndef CLOCK_GLOBALS
  33.         #define CLOCK_GLOBALS() 
  34.         #define ADD_CLOCK_COMMA 
  35.     #else
  36.         #define ADD_CLOCK_COMMA ,
  37.     #endif
  38.     #define CLOCK_GLUE(a,b) a##b
  39.     #define CLOCK_STRCAT(a,b) CLOCK_GLUE(a,b)
  40.     #define ADD_CLOCK_BASENAME(name) CLOCK_STRCAT(CLOCK_BASENAME(),name)
  41.  
  42.     EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(GetTime) (CLOCK_GLOBALS() ADD_CLOCK_COMMA TimeRecord * out);
  43.  
  44.     EXTERN_API( QTCallBack  ) ADD_CLOCK_BASENAME(NewCallBack) (CLOCK_GLOBALS() ADD_CLOCK_COMMA TimeBase  tb, short  callBackType);
  45.  
  46.     EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(DisposeCallBack) (CLOCK_GLOBALS() ADD_CLOCK_COMMA QTCallBack  cb);
  47.  
  48.     EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(CallMeWhen) (CLOCK_GLOBALS() ADD_CLOCK_COMMA QTCallBack  cb, long  param1, long  param2, long  param3);
  49.  
  50.     EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(CancelCallBack) (CLOCK_GLOBALS() ADD_CLOCK_COMMA QTCallBack  cb);
  51.  
  52.     EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(RateChanged) (CLOCK_GLOBALS() ADD_CLOCK_COMMA QTCallBack  cb);
  53.  
  54.     EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(TimeChanged) (CLOCK_GLOBALS() ADD_CLOCK_COMMA QTCallBack  cb);
  55.  
  56.     EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(SetTimeBase) (CLOCK_GLOBALS() ADD_CLOCK_COMMA TimeBase  tb);
  57.  
  58.     EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(StartStopChanged) (CLOCK_GLOBALS() ADD_CLOCK_COMMA QTCallBack  cb, Boolean  startChanged, Boolean  stopChanged);
  59.  
  60.     EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(GetRate) (CLOCK_GLOBALS() ADD_CLOCK_COMMA Fixed * rate);
  61.  
  62.  
  63.     /* MixedMode ProcInfo constants for component calls */
  64.     enum {
  65.         uppClockGetTimeProcInfo = 0x000003F0,
  66.         uppClockNewCallBackProcInfo = 0x00000BF0,
  67.         uppClockDisposeCallBackProcInfo = 0x000003F0,
  68.         uppClockCallMeWhenProcInfo = 0x0000FFF0,
  69.         uppClockCancelCallBackProcInfo = 0x000003F0,
  70.         uppClockRateChangedProcInfo = 0x000003F0,
  71.         uppClockTimeChangedProcInfo = 0x000003F0,
  72.         uppClockSetTimeBaseProcInfo = 0x000003F0,
  73.         uppClockStartStopChangedProcInfo = 0x000017F0,
  74.         uppClockGetRateProcInfo = 0x000003F0
  75.     };
  76.  
  77. #endif    /* CLOCK_BASENAME */
  78.  
  79. /*
  80.     Example usage:
  81.  
  82.         #define SC_BASENAME()    Fred
  83.         #define SC_GLOBALS()    FredGlobalsHandle
  84.         #include <QuickTimeComponents.k.h>
  85.  
  86.     To specify that your component implementation does not use globals, do not #define SC_GLOBALS
  87. */
  88. #ifdef SC_BASENAME
  89.     #ifndef SC_GLOBALS
  90.         #define SC_GLOBALS() 
  91.         #define ADD_SC_COMMA 
  92.     #else
  93.         #define ADD_SC_COMMA ,
  94.     #endif
  95.     #define SC_GLUE(a,b) a##b
  96.     #define SC_STRCAT(a,b) SC_GLUE(a,b)
  97.     #define ADD_SC_BASENAME(name) SC_STRCAT(SC_BASENAME(),name)
  98.  
  99.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(GetCompressionExtended) (SC_GLOBALS() ADD_SC_COMMA SCParams * params, Point  where, SCModalFilterUPP  filterProc, SCModalHookUPP  hookProc, long  refcon, StringPtr  customName);
  100.  
  101.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(PositionRect) (SC_GLOBALS() ADD_SC_COMMA Rect * rp, Point * where);
  102.  
  103.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(PositionDialog) (SC_GLOBALS() ADD_SC_COMMA short  id, Point * where);
  104.  
  105.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(SetTestImagePictHandle) (SC_GLOBALS() ADD_SC_COMMA PicHandle  testPict, Rect * testRect, short  testFlags);
  106.  
  107.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(SetTestImagePictFile) (SC_GLOBALS() ADD_SC_COMMA short  testFileRef, Rect * testRect, short  testFlags);
  108.  
  109.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(SetTestImagePixMap) (SC_GLOBALS() ADD_SC_COMMA PixMapHandle  testPixMap, Rect * testRect, short  testFlags);
  110.  
  111.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(GetBestDeviceRect) (SC_GLOBALS() ADD_SC_COMMA Rect * r);
  112.  
  113.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(RequestImageSettings) (SC_GLOBALS());
  114.  
  115.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(CompressImage) (SC_GLOBALS() ADD_SC_COMMA PixMapHandle  src, const Rect * srcRect, ImageDescriptionHandle * desc, Handle * data);
  116.  
  117.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(CompressPicture) (SC_GLOBALS() ADD_SC_COMMA PicHandle  srcPicture, PicHandle  dstPicture);
  118.  
  119.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(CompressPictureFile) (SC_GLOBALS() ADD_SC_COMMA short  srcRefNum, short  dstRefNum);
  120.  
  121.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(RequestSequenceSettings) (SC_GLOBALS());
  122.  
  123.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(CompressSequenceBegin) (SC_GLOBALS() ADD_SC_COMMA PixMapHandle  src, const Rect * srcRect, ImageDescriptionHandle * desc);
  124.  
  125.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(CompressSequenceFrame) (SC_GLOBALS() ADD_SC_COMMA PixMapHandle  src, const Rect * srcRect, Handle * data, long * dataSize, short * notSyncFlag);
  126.  
  127.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(CompressSequenceEnd) (SC_GLOBALS());
  128.  
  129.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(DefaultPictHandleSettings) (SC_GLOBALS() ADD_SC_COMMA PicHandle  srcPicture, short  motion);
  130.  
  131.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(DefaultPictFileSettings) (SC_GLOBALS() ADD_SC_COMMA short  srcRef, short  motion);
  132.  
  133.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(DefaultPixMapSettings) (SC_GLOBALS() ADD_SC_COMMA PixMapHandle  src, short  motion);
  134.  
  135.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(GetInfo) (SC_GLOBALS() ADD_SC_COMMA OSType  infoType, void * info);
  136.  
  137.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(SetInfo) (SC_GLOBALS() ADD_SC_COMMA OSType  infoType, void * info);
  138.  
  139.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(NewGWorld) (SC_GLOBALS() ADD_SC_COMMA GWorldPtr * gwp, Rect * rp, GWorldFlags  flags);
  140.  
  141.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(SetCompressFlags) (SC_GLOBALS() ADD_SC_COMMA long  flags);
  142.  
  143.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(GetCompressFlags) (SC_GLOBALS() ADD_SC_COMMA long * flags);
  144.  
  145.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(GetSettingsAsText) (SC_GLOBALS() ADD_SC_COMMA Handle * text);
  146.  
  147.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(GetSettingsAsAtomContainer) (SC_GLOBALS() ADD_SC_COMMA QTAtomContainer * settings);
  148.  
  149.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(SetSettingsFromAtomContainer) (SC_GLOBALS() ADD_SC_COMMA QTAtomContainer  settings);
  150.  
  151.  
  152.     /* MixedMode ProcInfo constants for component calls */
  153.     enum {
  154.         uppSCGetCompressionExtendedProcInfo = 0x000FFFF0,
  155.         uppSCPositionRectProcInfo = 0x00000FF0,
  156.         uppSCPositionDialogProcInfo = 0x00000EF0,
  157.         uppSCSetTestImagePictHandleProcInfo = 0x00002FF0,
  158.         uppSCSetTestImagePictFileProcInfo = 0x00002EF0,
  159.         uppSCSetTestImagePixMapProcInfo = 0x00002FF0,
  160.         uppSCGetBestDeviceRectProcInfo = 0x000003F0,
  161.         uppSCRequestImageSettingsProcInfo = 0x000000F0,
  162.         uppSCCompressImageProcInfo = 0x0000FFF0,
  163.         uppSCCompressPictureProcInfo = 0x00000FF0,
  164.         uppSCCompressPictureFileProcInfo = 0x00000AF0,
  165.         uppSCRequestSequenceSettingsProcInfo = 0x000000F0,
  166.         uppSCCompressSequenceBeginProcInfo = 0x00003FF0,
  167.         uppSCCompressSequenceFrameProcInfo = 0x0003FFF0,
  168.         uppSCCompressSequenceEndProcInfo = 0x000000F0,
  169.         uppSCDefaultPictHandleSettingsProcInfo = 0x00000BF0,
  170.         uppSCDefaultPictFileSettingsProcInfo = 0x00000AF0,
  171.         uppSCDefaultPixMapSettingsProcInfo = 0x00000BF0,
  172.         uppSCGetInfoProcInfo = 0x00000FF0,
  173.         uppSCSetInfoProcInfo = 0x00000FF0,
  174.         uppSCNewGWorldProcInfo = 0x00003FF0,
  175.         uppSCSetCompressFlagsProcInfo = 0x000003F0,
  176.         uppSCGetCompressFlagsProcInfo = 0x000003F0,
  177.         uppSCGetSettingsAsTextProcInfo = 0x000003F0,
  178.         uppSCGetSettingsAsAtomContainerProcInfo = 0x000003F0,
  179.         uppSCSetSettingsFromAtomContainerProcInfo = 0x000003F0
  180.     };
  181.  
  182. #endif    /* SC_BASENAME */
  183.  
  184. /*
  185.     Example usage:
  186.  
  187.         #define TWEENER_BASENAME()    Fred
  188.         #define TWEENER_GLOBALS()    FredGlobalsHandle
  189.         #include <QuickTimeComponents.k.h>
  190.  
  191.     To specify that your component implementation does not use globals, do not #define TWEENER_GLOBALS
  192. */
  193. #ifdef TWEENER_BASENAME
  194.     #ifndef TWEENER_GLOBALS
  195.         #define TWEENER_GLOBALS() 
  196.         #define ADD_TWEENER_COMMA 
  197.     #else
  198.         #define ADD_TWEENER_COMMA ,
  199.     #endif
  200.     #define TWEENER_GLUE(a,b) a##b
  201.     #define TWEENER_STRCAT(a,b) TWEENER_GLUE(a,b)
  202.     #define ADD_TWEENER_BASENAME(name) TWEENER_STRCAT(TWEENER_BASENAME(),name)
  203.  
  204.     EXTERN_API( ComponentResult  ) ADD_TWEENER_BASENAME(Initialize) (TWEENER_GLOBALS() ADD_TWEENER_COMMA QTAtomContainer  container, QTAtom  tweenAtom, QTAtom  dataAtom);
  205.  
  206.     EXTERN_API( ComponentResult  ) ADD_TWEENER_BASENAME(DoTween) (TWEENER_GLOBALS() ADD_TWEENER_COMMA TweenRecord * tr);
  207.  
  208.     EXTERN_API( ComponentResult  ) ADD_TWEENER_BASENAME(Reset) (TWEENER_GLOBALS());
  209.  
  210.  
  211.     /* MixedMode ProcInfo constants for component calls */
  212.     enum {
  213.         uppTweenerInitializeProcInfo = 0x00003FF0,
  214.         uppTweenerDoTweenProcInfo = 0x000003F0,
  215.         uppTweenerResetProcInfo = 0x000000F0
  216.     };
  217.  
  218. #endif    /* TWEENER_BASENAME */
  219.  
  220. /*
  221.     Example usage:
  222.  
  223.         #define TC_BASENAME()    Fred
  224.         #define TC_GLOBALS()    FredGlobalsHandle
  225.         #include <QuickTimeComponents.k.h>
  226.  
  227.     To specify that your component implementation does not use globals, do not #define TC_GLOBALS
  228. */
  229. #ifdef TC_BASENAME
  230.     #ifndef TC_GLOBALS
  231.         #define TC_GLOBALS() 
  232.         #define ADD_TC_COMMA 
  233.     #else
  234.         #define ADD_TC_COMMA ,
  235.     #endif
  236.     #define TC_GLUE(a,b) a##b
  237.     #define TC_STRCAT(a,b) TC_GLUE(a,b)
  238.     #define ADD_TC_BASENAME(name) TC_STRCAT(TC_BASENAME(),name)
  239.  
  240.     EXTERN_API( HandlerError  ) ADD_TC_BASENAME(GetCurrentTimeCode) (TC_GLOBALS() ADD_TC_COMMA long * frameNum, TimeCodeDef * tcdef, TimeCodeRecord * tcrec, UserData * srcRefH);
  241.  
  242.     EXTERN_API( HandlerError  ) ADD_TC_BASENAME(GetTimeCodeAtTime) (TC_GLOBALS() ADD_TC_COMMA TimeValue  mediaTime, long * frameNum, TimeCodeDef * tcdef, TimeCodeRecord * tcdata, UserData * srcRefH);
  243.  
  244.     EXTERN_API( HandlerError  ) ADD_TC_BASENAME(TimeCodeToString) (TC_GLOBALS() ADD_TC_COMMA TimeCodeDef * tcdef, TimeCodeRecord * tcrec, StringPtr  tcStr);
  245.  
  246.     EXTERN_API( HandlerError  ) ADD_TC_BASENAME(TimeCodeToFrameNumber) (TC_GLOBALS() ADD_TC_COMMA TimeCodeDef * tcdef, TimeCodeRecord * tcrec, long * frameNumber);
  247.  
  248.     EXTERN_API( HandlerError  ) ADD_TC_BASENAME(FrameNumberToTimeCode) (TC_GLOBALS() ADD_TC_COMMA long  frameNumber, TimeCodeDef * tcdef, TimeCodeRecord * tcrec);
  249.  
  250.     EXTERN_API( HandlerError  ) ADD_TC_BASENAME(GetSourceRef) (TC_GLOBALS() ADD_TC_COMMA TimeCodeDescriptionHandle  tcdH, UserData * srefH);
  251.  
  252.     EXTERN_API( HandlerError  ) ADD_TC_BASENAME(SetSourceRef) (TC_GLOBALS() ADD_TC_COMMA TimeCodeDescriptionHandle  tcdH, UserData  srefH);
  253.  
  254.     EXTERN_API( HandlerError  ) ADD_TC_BASENAME(SetTimeCodeFlags) (TC_GLOBALS() ADD_TC_COMMA long  flags, long  flagsMask);
  255.  
  256.     EXTERN_API( HandlerError  ) ADD_TC_BASENAME(GetTimeCodeFlags) (TC_GLOBALS() ADD_TC_COMMA long * flags);
  257.  
  258.     EXTERN_API( HandlerError  ) ADD_TC_BASENAME(SetDisplayOptions) (TC_GLOBALS() ADD_TC_COMMA TCTextOptionsPtr  textOptions);
  259.  
  260.     EXTERN_API( HandlerError  ) ADD_TC_BASENAME(GetDisplayOptions) (TC_GLOBALS() ADD_TC_COMMA TCTextOptionsPtr  textOptions);
  261.  
  262.  
  263.     /* MixedMode ProcInfo constants for component calls */
  264.     enum {
  265.         uppTCGetCurrentTimeCodeProcInfo = 0x0000FFF0,
  266.         uppTCGetTimeCodeAtTimeProcInfo = 0x0003FFF0,
  267.         uppTCTimeCodeToStringProcInfo = 0x00003FF0,
  268.         uppTCTimeCodeToFrameNumberProcInfo = 0x00003FF0,
  269.         uppTCFrameNumberToTimeCodeProcInfo = 0x00003FF0,
  270.         uppTCGetSourceRefProcInfo = 0x00000FF0,
  271.         uppTCSetSourceRefProcInfo = 0x00000FF0,
  272.         uppTCSetTimeCodeFlagsProcInfo = 0x00000FF0,
  273.         uppTCGetTimeCodeFlagsProcInfo = 0x000003F0,
  274.         uppTCSetDisplayOptionsProcInfo = 0x000003F0,
  275.         uppTCGetDisplayOptionsProcInfo = 0x000003F0
  276.     };
  277.  
  278. #endif    /* TC_BASENAME */
  279.  
  280. /*
  281.     Example usage:
  282.  
  283.         #define MOVIEIMPORT_BASENAME()    Fred
  284.         #define MOVIEIMPORT_GLOBALS()    FredGlobalsHandle
  285.         #include <QuickTimeComponents.k.h>
  286.  
  287.     To specify that your component implementation does not use globals, do not #define MOVIEIMPORT_GLOBALS
  288. */
  289. #ifdef MOVIEIMPORT_BASENAME
  290.     #ifndef MOVIEIMPORT_GLOBALS
  291.         #define MOVIEIMPORT_GLOBALS() 
  292.         #define ADD_MOVIEIMPORT_COMMA 
  293.     #else
  294.         #define ADD_MOVIEIMPORT_COMMA ,
  295.     #endif
  296.     #define MOVIEIMPORT_GLUE(a,b) a##b
  297.     #define MOVIEIMPORT_STRCAT(a,b) MOVIEIMPORT_GLUE(a,b)
  298.     #define ADD_MOVIEIMPORT_BASENAME(name) MOVIEIMPORT_STRCAT(MOVIEIMPORT_BASENAME(),name)
  299.  
  300.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(Handle) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA Handle  dataH, Movie  theMovie, Track  targetTrack, Track * usedTrack, TimeValue  atTime, TimeValue * addedDuration, long  inFlags, long * outFlags);
  301.  
  302.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(File) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA const FSSpec * theFile, Movie  theMovie, Track  targetTrack, Track * usedTrack, TimeValue  atTime, TimeValue * addedDuration, long  inFlags, long * outFlags);
  303.  
  304.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetSampleDuration) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA TimeValue  duration, TimeScale  scale);
  305.  
  306.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetSampleDescription) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA SampleDescriptionHandle  desc, OSType  mediaType);
  307.  
  308.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetMediaFile) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA AliasHandle  alias);
  309.  
  310.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetDimensions) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA Fixed  width, Fixed  height);
  311.  
  312.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetChunkSize) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA long  chunkSize);
  313.  
  314.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetProgressProc) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA MovieProgressUPP  proc, long  refcon);
  315.  
  316.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetAuxiliaryData) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA Handle  data, OSType  handleType);
  317.  
  318.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetFromScrap) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA Boolean  fromScrap);
  319.  
  320.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(DoUserDialog) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA const FSSpec * theFile, Handle  theData, Boolean * canceled);
  321.  
  322.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetDuration) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA TimeValue  duration);
  323.  
  324.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(GetAuxiliaryDataType) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA OSType * auxType);
  325.  
  326.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(Validate) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA const FSSpec * theFile, Handle  theData, Boolean * valid);
  327.  
  328.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(GetFileType) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA OSType * fileType);
  329.  
  330.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(DataRef) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA Handle  dataRef, OSType  dataRefType, Movie  theMovie, Track  targetTrack, Track * usedTrack, TimeValue  atTime, TimeValue * addedDuration, long  inFlags, long * outFlags);
  331.  
  332.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(GetSampleDescription) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA SampleDescriptionHandle * desc, OSType * mediaType);
  333.  
  334.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(GetMIMETypeList) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA QTAtomContainer * mimeInfo);
  335.  
  336.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetOffsetAndLimit) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA unsigned long  offset, unsigned long  limit);
  337.  
  338.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(GetSettingsAsAtomContainer) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA QTAtomContainer * settings);
  339.  
  340.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetSettingsFromAtomContainer) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA QTAtomContainer  settings);
  341.  
  342.  
  343.     /* MixedMode ProcInfo constants for component calls */
  344.     enum {
  345.         uppMovieImportHandleProcInfo = 0x00FFFFF0,
  346.         uppMovieImportFileProcInfo = 0x00FFFFF0,
  347.         uppMovieImportSetSampleDurationProcInfo = 0x00000FF0,
  348.         uppMovieImportSetSampleDescriptionProcInfo = 0x00000FF0,
  349.         uppMovieImportSetMediaFileProcInfo = 0x000003F0,
  350.         uppMovieImportSetDimensionsProcInfo = 0x00000FF0,
  351.         uppMovieImportSetChunkSizeProcInfo = 0x000003F0,
  352.         uppMovieImportSetProgressProcProcInfo = 0x00000FF0,
  353.         uppMovieImportSetAuxiliaryDataProcInfo = 0x00000FF0,
  354.         uppMovieImportSetFromScrapProcInfo = 0x000001F0,
  355.         uppMovieImportDoUserDialogProcInfo = 0x00003FF0,
  356.         uppMovieImportSetDurationProcInfo = 0x000003F0,
  357.         uppMovieImportGetAuxiliaryDataTypeProcInfo = 0x000003F0,
  358.         uppMovieImportValidateProcInfo = 0x00003FF0,
  359.         uppMovieImportGetFileTypeProcInfo = 0x000003F0,
  360.         uppMovieImportDataRefProcInfo = 0x03FFFFF0,
  361.         uppMovieImportGetSampleDescriptionProcInfo = 0x00000FF0,
  362.         uppMovieImportGetMIMETypeListProcInfo = 0x000003F0,
  363.         uppMovieImportSetOffsetAndLimitProcInfo = 0x00000FF0,
  364.         uppMovieImportGetSettingsAsAtomContainerProcInfo = 0x000003F0,
  365.         uppMovieImportSetSettingsFromAtomContainerProcInfo = 0x000003F0
  366.     };
  367.  
  368. #endif    /* MOVIEIMPORT_BASENAME */
  369.  
  370. /*
  371.     Example usage:
  372.  
  373.         #define MOVIEEXPORT_BASENAME()    Fred
  374.         #define MOVIEEXPORT_GLOBALS()    FredGlobalsHandle
  375.         #include <QuickTimeComponents.k.h>
  376.  
  377.     To specify that your component implementation does not use globals, do not #define MOVIEEXPORT_GLOBALS
  378. */
  379. #ifdef MOVIEEXPORT_BASENAME
  380.     #ifndef MOVIEEXPORT_GLOBALS
  381.         #define MOVIEEXPORT_GLOBALS() 
  382.         #define ADD_MOVIEEXPORT_COMMA 
  383.     #else
  384.         #define ADD_MOVIEEXPORT_COMMA ,
  385.     #endif
  386.     #define MOVIEEXPORT_GLUE(a,b) a##b
  387.     #define MOVIEEXPORT_STRCAT(a,b) MOVIEEXPORT_GLUE(a,b)
  388.     #define ADD_MOVIEEXPORT_BASENAME(name) MOVIEEXPORT_STRCAT(MOVIEEXPORT_BASENAME(),name)
  389.  
  390.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(ToHandle) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA Handle  dataH, Movie  theMovie, Track  onlyThisTrack, TimeValue  startTime, TimeValue  duration);
  391.  
  392.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(ToFile) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA const FSSpec * theFile, Movie  theMovie, Track  onlyThisTrack, TimeValue  startTime, TimeValue  duration);
  393.  
  394.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(GetAuxiliaryData) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA Handle  dataH, OSType * handleType);
  395.  
  396.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(SetProgressProc) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA MovieProgressUPP  proc, long  refcon);
  397.  
  398.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(SetSampleDescription) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA SampleDescriptionHandle  desc, OSType  mediaType);
  399.  
  400.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(DoUserDialog) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA Movie  theMovie, Track  onlyThisTrack, TimeValue  startTime, TimeValue  duration, Boolean * canceled);
  401.  
  402.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(GetCreatorType) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA OSType * creator);
  403.  
  404.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(ToDataRef) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA Handle  dataRef, OSType  dataRefType, Movie  theMovie, Track  onlyThisTrack, TimeValue  startTime, TimeValue  duration);
  405.  
  406.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(FromProceduresToDataRef) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA Handle  dataRef, OSType  dataRefType);
  407.  
  408.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(AddDataSource) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA OSType  trackType, TimeScale  scale, long * trackID, MovieExportGetPropertyUPP  getPropertyProc, MovieExportGetDataUPP  getDataProc, void * refCon);
  409.  
  410.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(Validate) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA Movie  theMovie, Track  onlyThisTrack, Boolean * valid);
  411.  
  412.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(GetSettingsAsAtomContainer) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA QTAtomContainer * settings);
  413.  
  414.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(SetSettingsFromAtomContainer) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA QTAtomContainer  settings);
  415.  
  416.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(GetFileNameExtension) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA OSType * extension);
  417.  
  418.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(GetShortFileTypeString) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA Str255  typeString);
  419.  
  420.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(GetSourceMediaType) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA OSType * mediaType);
  421.  
  422.  
  423.     /* MixedMode ProcInfo constants for component calls */
  424.     enum {
  425.         uppMovieExportToHandleProcInfo = 0x0003FFF0,
  426.         uppMovieExportToFileProcInfo = 0x0003FFF0,
  427.         uppMovieExportGetAuxiliaryDataProcInfo = 0x00000FF0,
  428.         uppMovieExportSetProgressProcProcInfo = 0x00000FF0,
  429.         uppMovieExportSetSampleDescriptionProcInfo = 0x00000FF0,
  430.         uppMovieExportDoUserDialogProcInfo = 0x0003FFF0,
  431.         uppMovieExportGetCreatorTypeProcInfo = 0x000003F0,
  432.         uppMovieExportToDataRefProcInfo = 0x000FFFF0,
  433.         uppMovieExportFromProceduresToDataRefProcInfo = 0x00000FF0,
  434.         uppMovieExportAddDataSourceProcInfo = 0x000FFFF0,
  435.         uppMovieExportValidateProcInfo = 0x00003FF0,
  436.         uppMovieExportGetSettingsAsAtomContainerProcInfo = 0x000003F0,
  437.         uppMovieExportSetSettingsFromAtomContainerProcInfo = 0x000003F0,
  438.         uppMovieExportGetFileNameExtensionProcInfo = 0x000003F0,
  439.         uppMovieExportGetShortFileTypeStringProcInfo = 0x000003F0,
  440.         uppMovieExportGetSourceMediaTypeProcInfo = 0x000003F0
  441.     };
  442.  
  443. #endif    /* MOVIEEXPORT_BASENAME */
  444.  
  445. /*
  446.     Example usage:
  447.  
  448.         #define TEXTEXPORT_BASENAME()    Fred
  449.         #define TEXTEXPORT_GLOBALS()    FredGlobalsHandle
  450.         #include <QuickTimeComponents.k.h>
  451.  
  452.     To specify that your component implementation does not use globals, do not #define TEXTEXPORT_GLOBALS
  453. */
  454. #ifdef TEXTEXPORT_BASENAME
  455.     #ifndef TEXTEXPORT_GLOBALS
  456.         #define TEXTEXPORT_GLOBALS() 
  457.         #define ADD_TEXTEXPORT_COMMA 
  458.     #else
  459.         #define ADD_TEXTEXPORT_COMMA ,
  460.     #endif
  461.     #define TEXTEXPORT_GLUE(a,b) a##b
  462.     #define TEXTEXPORT_STRCAT(a,b) TEXTEXPORT_GLUE(a,b)
  463.     #define ADD_TEXTEXPORT_BASENAME(name) TEXTEXPORT_STRCAT(TEXTEXPORT_BASENAME(),name)
  464.  
  465.     EXTERN_API( ComponentResult  ) ADD_TEXTEXPORT_BASENAME(GetDisplayData) (TEXTEXPORT_GLOBALS() ADD_TEXTEXPORT_COMMA TextDisplayData * textDisplay);
  466.  
  467.     EXTERN_API( ComponentResult  ) ADD_TEXTEXPORT_BASENAME(GetTimeFraction) (TEXTEXPORT_GLOBALS() ADD_TEXTEXPORT_COMMA long * movieTimeFraction);
  468.  
  469.     EXTERN_API( ComponentResult  ) ADD_TEXTEXPORT_BASENAME(SetTimeFraction) (TEXTEXPORT_GLOBALS() ADD_TEXTEXPORT_COMMA long  movieTimeFraction);
  470.  
  471.     EXTERN_API( ComponentResult  ) ADD_TEXTEXPORT_BASENAME(GetSettings) (TEXTEXPORT_GLOBALS() ADD_TEXTEXPORT_COMMA long * setting);
  472.  
  473.     EXTERN_API( ComponentResult  ) ADD_TEXTEXPORT_BASENAME(SetSettings) (TEXTEXPORT_GLOBALS() ADD_TEXTEXPORT_COMMA long  setting);
  474.  
  475. #endif    /* TEXTEXPORT_BASENAME */
  476.  
  477. /*
  478.     Example usage:
  479.  
  480.         #define MIDIIMPORT_BASENAME()    Fred
  481.         #define MIDIIMPORT_GLOBALS()    FredGlobalsHandle
  482.         #include <QuickTimeComponents.k.h>
  483.  
  484.     To specify that your component implementation does not use globals, do not #define MIDIIMPORT_GLOBALS
  485. */
  486. #ifdef MIDIIMPORT_BASENAME
  487.     #ifndef MIDIIMPORT_GLOBALS
  488.         #define MIDIIMPORT_GLOBALS() 
  489.         #define ADD_MIDIIMPORT_COMMA 
  490.     #else
  491.         #define ADD_MIDIIMPORT_COMMA ,
  492.     #endif
  493.     #define MIDIIMPORT_GLUE(a,b) a##b
  494.     #define MIDIIMPORT_STRCAT(a,b) MIDIIMPORT_GLUE(a,b)
  495.     #define ADD_MIDIIMPORT_BASENAME(name) MIDIIMPORT_STRCAT(MIDIIMPORT_BASENAME(),name)
  496.  
  497.     EXTERN_API( ComponentResult  ) ADD_MIDIIMPORT_BASENAME(GetSettings) (MIDIIMPORT_GLOBALS() ADD_MIDIIMPORT_COMMA long * setting);
  498.  
  499.     EXTERN_API( ComponentResult  ) ADD_MIDIIMPORT_BASENAME(SetSettings) (MIDIIMPORT_GLOBALS() ADD_MIDIIMPORT_COMMA long  setting);
  500.  
  501. #endif    /* MIDIIMPORT_BASENAME */
  502.  
  503. /*
  504.     Example usage:
  505.  
  506.         #define MOVIEEXPORT_BASENAME()    Fred
  507.         #define MOVIEEXPORT_GLOBALS()    FredGlobalsHandle
  508.         #include <QuickTimeComponents.k.h>
  509.  
  510.     To specify that your component implementation does not use globals, do not #define MOVIEEXPORT_GLOBALS
  511. */
  512. #ifdef MOVIEEXPORT_BASENAME
  513.     #ifndef MOVIEEXPORT_GLOBALS
  514.         #define MOVIEEXPORT_GLOBALS() 
  515.         #define ADD_MOVIEEXPORT_COMMA 
  516.     #else
  517.         #define ADD_MOVIEEXPORT_COMMA ,
  518.     #endif
  519.     #define MOVIEEXPORT_GLUE(a,b) a##b
  520.     #define MOVIEEXPORT_STRCAT(a,b) MOVIEEXPORT_GLUE(a,b)
  521.     #define ADD_MOVIEEXPORT_BASENAME(name) MOVIEEXPORT_STRCAT(MOVIEEXPORT_BASENAME(),name)
  522.  
  523.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(NewGetDataAndPropertiesProcs) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA OSType  trackType, TimeScale * scale, Movie  theMovie, Track  theTrack, TimeValue  startTime, TimeValue  duration, MovieExportGetPropertyUPP * getPropertyProc, MovieExportGetDataUPP * getDataProc, void ** refCon);
  524.  
  525.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(DisposeGetDataAndPropertiesProcs) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA MovieExportGetPropertyUPP  getPropertyProc, MovieExportGetDataUPP  getDataProc, void * refCon);
  526.  
  527. #endif    /* MOVIEEXPORT_BASENAME */
  528.  
  529. /*
  530.     Example usage:
  531.  
  532.         #define GRAPHICSIMAGEIMPORT_BASENAME()    Fred
  533.         #define GRAPHICSIMAGEIMPORT_GLOBALS()    FredGlobalsHandle
  534.         #include <QuickTimeComponents.k.h>
  535.  
  536.     To specify that your component implementation does not use globals, do not #define GRAPHICSIMAGEIMPORT_GLOBALS
  537. */
  538. #ifdef GRAPHICSIMAGEIMPORT_BASENAME
  539.     #ifndef GRAPHICSIMAGEIMPORT_GLOBALS
  540.         #define GRAPHICSIMAGEIMPORT_GLOBALS() 
  541.         #define ADD_GRAPHICSIMAGEIMPORT_COMMA 
  542.     #else
  543.         #define ADD_GRAPHICSIMAGEIMPORT_COMMA ,
  544.     #endif
  545.     #define GRAPHICSIMAGEIMPORT_GLUE(a,b) a##b
  546.     #define GRAPHICSIMAGEIMPORT_STRCAT(a,b) GRAPHICSIMAGEIMPORT_GLUE(a,b)
  547.     #define ADD_GRAPHICSIMAGEIMPORT_BASENAME(name) GRAPHICSIMAGEIMPORT_STRCAT(GRAPHICSIMAGEIMPORT_BASENAME(),name)
  548.  
  549.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMAGEIMPORT_BASENAME(SetSequenceEnabled) (GRAPHICSIMAGEIMPORT_GLOBALS() ADD_GRAPHICSIMAGEIMPORT_COMMA Boolean  enable);
  550.  
  551.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMAGEIMPORT_BASENAME(GetSequenceEnabled) (GRAPHICSIMAGEIMPORT_GLOBALS() ADD_GRAPHICSIMAGEIMPORT_COMMA Boolean * enable);
  552.  
  553. #endif    /* GRAPHICSIMAGEIMPORT_BASENAME */
  554.  
  555.  
  556. /* MixedMode ProcInfo constants for component calls */
  557. enum {
  558.     uppTextExportGetDisplayDataProcInfo = 0x000003F0,
  559.     uppTextExportGetTimeFractionProcInfo = 0x000003F0,
  560.     uppTextExportSetTimeFractionProcInfo = 0x000003F0,
  561.     uppTextExportGetSettingsProcInfo = 0x000003F0,
  562.     uppTextExportSetSettingsProcInfo = 0x000003F0,
  563.     uppMIDIImportGetSettingsProcInfo = 0x000003F0,
  564.     uppMIDIImportSetSettingsProcInfo = 0x000003F0,
  565.     uppMovieExportNewGetDataAndPropertiesProcsProcInfo = 0x03FFFFF0,
  566.     uppMovieExportDisposeGetDataAndPropertiesProcsProcInfo = 0x00003FF0,
  567.     uppGraphicsImageImportSetSequenceEnabledProcInfo = 0x000001F0,
  568.     uppGraphicsImageImportGetSequenceEnabledProcInfo = 0x000003F0
  569. };
  570.  
  571. /*
  572.     Example usage:
  573.  
  574.         #define PREVIEW_BASENAME()    Fred
  575.         #define PREVIEW_GLOBALS()    FredGlobalsHandle
  576.         #include <QuickTimeComponents.k.h>
  577.  
  578.     To specify that your component implementation does not use globals, do not #define PREVIEW_GLOBALS
  579. */
  580. #ifdef PREVIEW_BASENAME
  581.     #ifndef PREVIEW_GLOBALS
  582.         #define PREVIEW_GLOBALS() 
  583.         #define ADD_PREVIEW_COMMA 
  584.     #else
  585.         #define ADD_PREVIEW_COMMA ,
  586.     #endif
  587.     #define PREVIEW_GLUE(a,b) a##b
  588.     #define PREVIEW_STRCAT(a,b) PREVIEW_GLUE(a,b)
  589.     #define ADD_PREVIEW_BASENAME(name) PREVIEW_STRCAT(PREVIEW_BASENAME(),name)
  590.  
  591.     EXTERN_API( ComponentResult  ) ADD_PREVIEW_BASENAME(ShowData) (PREVIEW_GLOBALS() ADD_PREVIEW_COMMA OSType  dataType, Handle  data, const Rect * inHere);
  592.  
  593.     EXTERN_API( ComponentResult  ) ADD_PREVIEW_BASENAME(MakePreview) (PREVIEW_GLOBALS() ADD_PREVIEW_COMMA OSType * previewType, Handle * previewResult, const FSSpec * sourceFile, ICMProgressProcRecordPtr  progress);
  594.  
  595.     EXTERN_API( ComponentResult  ) ADD_PREVIEW_BASENAME(MakePreviewReference) (PREVIEW_GLOBALS() ADD_PREVIEW_COMMA OSType * previewType, short * resID, const FSSpec * sourceFile);
  596.  
  597.     EXTERN_API( ComponentResult  ) ADD_PREVIEW_BASENAME(Event) (PREVIEW_GLOBALS() ADD_PREVIEW_COMMA EventRecord * e, Boolean * handledEvent);
  598.  
  599.  
  600.     /* MixedMode ProcInfo constants for component calls */
  601.     enum {
  602.         uppPreviewShowDataProcInfo = 0x00003FF0,
  603.         uppPreviewMakePreviewProcInfo = 0x0000FFF0,
  604.         uppPreviewMakePreviewReferenceProcInfo = 0x00003FF0,
  605.         uppPreviewEventProcInfo = 0x00000FF0
  606.     };
  607.  
  608. #endif    /* PREVIEW_BASENAME */
  609.  
  610. /*
  611.     Example usage:
  612.  
  613.         #define DATACODEC_BASENAME()    Fred
  614.         #define DATACODEC_GLOBALS()    FredGlobalsHandle
  615.         #include <QuickTimeComponents.k.h>
  616.  
  617.     To specify that your component implementation does not use globals, do not #define DATACODEC_GLOBALS
  618. */
  619. #ifdef DATACODEC_BASENAME
  620.     #ifndef DATACODEC_GLOBALS
  621.         #define DATACODEC_GLOBALS() 
  622.         #define ADD_DATACODEC_COMMA 
  623.     #else
  624.         #define ADD_DATACODEC_COMMA ,
  625.     #endif
  626.     #define DATACODEC_GLUE(a,b) a##b
  627.     #define DATACODEC_STRCAT(a,b) DATACODEC_GLUE(a,b)
  628.     #define ADD_DATACODEC_BASENAME(name) DATACODEC_STRCAT(DATACODEC_BASENAME(),name)
  629.  
  630.     EXTERN_API( ComponentResult  ) ADD_DATACODEC_BASENAME(Decompress) (DATACODEC_GLOBALS() ADD_DATACODEC_COMMA void * srcData, UInt32  srcSize, void * dstData, UInt32  dstBufferSize);
  631.  
  632.     EXTERN_API( ComponentResult  ) ADD_DATACODEC_BASENAME(GetCompressBufferSize) (DATACODEC_GLOBALS() ADD_DATACODEC_COMMA UInt32  srcSize, UInt32 * dstSize);
  633.  
  634.     EXTERN_API( ComponentResult  ) ADD_DATACODEC_BASENAME(Compress) (DATACODEC_GLOBALS() ADD_DATACODEC_COMMA void * srcData, UInt32  srcSize, void * dstData, UInt32  dstBufferSize, UInt32 * actualDstSize, UInt32 * decompressSlop);
  635.  
  636.     EXTERN_API( ComponentResult  ) ADD_DATACODEC_BASENAME(BeginInterruptSafe) (DATACODEC_GLOBALS() ADD_DATACODEC_COMMA unsigned long  maxSrcSize);
  637.  
  638.     EXTERN_API( ComponentResult  ) ADD_DATACODEC_BASENAME(EndInterruptSafe) (DATACODEC_GLOBALS());
  639.  
  640.     EXTERN_API( ComponentResult  ) ADD_DATACODEC_BASENAME(DecompressPartial) (DATACODEC_GLOBALS() ADD_DATACODEC_COMMA void ** next_in, unsigned long * avail_in, unsigned long * total_in, void ** next_out, unsigned long * avail_out, unsigned long * total_out, Boolean * didFinish);
  641.  
  642.     EXTERN_API( ComponentResult  ) ADD_DATACODEC_BASENAME(CompressPartial) (DATACODEC_GLOBALS() ADD_DATACODEC_COMMA void ** next_in, unsigned long * avail_in, unsigned long * total_in, void ** next_out, unsigned long * avail_out, unsigned long * total_out, Boolean  tryToFinish, Boolean * didFinish);
  643.  
  644.  
  645.     /* MixedMode ProcInfo constants for component calls */
  646.     enum {
  647.         uppDataCodecDecompressProcInfo = 0x0000FFF0,
  648.         uppDataCodecGetCompressBufferSizeProcInfo = 0x00000FF0,
  649.         uppDataCodecCompressProcInfo = 0x000FFFF0,
  650.         uppDataCodecBeginInterruptSafeProcInfo = 0x000003F0,
  651.         uppDataCodecEndInterruptSafeProcInfo = 0x000000F0,
  652.         uppDataCodecDecompressPartialProcInfo = 0x003FFFF0,
  653.         uppDataCodecCompressPartialProcInfo = 0x00DFFFF0
  654.     };
  655.  
  656. #endif    /* DATACODEC_BASENAME */
  657.  
  658. /*
  659.     Example usage:
  660.  
  661.         #define DATAH_BASENAME()    Fred
  662.         #define DATAH_GLOBALS()    FredGlobalsHandle
  663.         #include <QuickTimeComponents.k.h>
  664.  
  665.     To specify that your component implementation does not use globals, do not #define DATAH_GLOBALS
  666. */
  667. #ifdef DATAH_BASENAME
  668.     #ifndef DATAH_GLOBALS
  669.         #define DATAH_GLOBALS() 
  670.         #define ADD_DATAH_COMMA 
  671.     #else
  672.         #define ADD_DATAH_COMMA ,
  673.     #endif
  674.     #define DATAH_GLUE(a,b) a##b
  675.     #define DATAH_STRCAT(a,b) DATAH_GLUE(a,b)
  676.     #define ADD_DATAH_BASENAME(name) DATAH_STRCAT(DATAH_BASENAME(),name)
  677.  
  678.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetData) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle  h, long  hOffset, long  offset, long  size);
  679.  
  680.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(PutData) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle  h, long  hOffset, long * offset, long  size);
  681.  
  682.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(FlushData) (DATAH_GLOBALS());
  683.  
  684.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(OpenForWrite) (DATAH_GLOBALS());
  685.  
  686.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(CloseForWrite) (DATAH_GLOBALS());
  687.  
  688.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(OpenForRead) (DATAH_GLOBALS());
  689.  
  690.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(CloseForRead) (DATAH_GLOBALS());
  691.  
  692.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(SetDataRef) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle  dataRef);
  693.  
  694.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetDataRef) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle * dataRef);
  695.  
  696.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(CompareDataRef) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle  dataRef, Boolean * equal);
  697.  
  698.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(Task) (DATAH_GLOBALS());
  699.  
  700.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(ScheduleData) (DATAH_GLOBALS() ADD_DATAH_COMMA Ptr  PlaceToPutDataPtr, long  FileOffset, long  DataSize, long  RefCon, DataHSchedulePtr  scheduleRec, DataHCompletionUPP  CompletionRtn);
  701.  
  702.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(FinishData) (DATAH_GLOBALS() ADD_DATAH_COMMA Ptr  PlaceToPutDataPtr, Boolean  Cancel);
  703.  
  704.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(FlushCache) (DATAH_GLOBALS());
  705.  
  706.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(ResolveDataRef) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle  theDataRef, Boolean * wasChanged, Boolean  userInterfaceAllowed);
  707.  
  708.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetFileSize) (DATAH_GLOBALS() ADD_DATAH_COMMA long * fileSize);
  709.  
  710.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(CanUseDataRef) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle  dataRef, long * useFlags);
  711.  
  712.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetVolumeList) (DATAH_GLOBALS() ADD_DATAH_COMMA DataHVolumeList * volumeList);
  713.  
  714.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(Write) (DATAH_GLOBALS() ADD_DATAH_COMMA Ptr  data, long  offset, long  size, DataHCompletionUPP  completion, long  refCon);
  715.  
  716.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(Preextend) (DATAH_GLOBALS() ADD_DATAH_COMMA unsigned long  maxToAdd, unsigned long * spaceAdded);
  717.  
  718.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(SetFileSize) (DATAH_GLOBALS() ADD_DATAH_COMMA long  fileSize);
  719.  
  720.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetFreeSpace) (DATAH_GLOBALS() ADD_DATAH_COMMA unsigned long * freeSize);
  721.  
  722.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(CreateFile) (DATAH_GLOBALS() ADD_DATAH_COMMA OSType  creator, Boolean  deleteExisting);
  723.  
  724.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetPreferredBlockSize) (DATAH_GLOBALS() ADD_DATAH_COMMA long * blockSize);
  725.  
  726.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetDeviceIndex) (DATAH_GLOBALS() ADD_DATAH_COMMA long * deviceIndex);
  727.  
  728.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(IsStreamingDataHandler) (DATAH_GLOBALS() ADD_DATAH_COMMA Boolean * yes);
  729.  
  730.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetDataInBuffer) (DATAH_GLOBALS() ADD_DATAH_COMMA long  startOffset, long * size);
  731.  
  732.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetScheduleAheadTime) (DATAH_GLOBALS() ADD_DATAH_COMMA long * millisecs);
  733.  
  734.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(SetCacheSizeLimit) (DATAH_GLOBALS() ADD_DATAH_COMMA Size  cacheSizeLimit);
  735.  
  736.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetCacheSizeLimit) (DATAH_GLOBALS() ADD_DATAH_COMMA Size * cacheSizeLimit);
  737.  
  738.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetMovie) (DATAH_GLOBALS() ADD_DATAH_COMMA Movie * theMovie, short * id);
  739.  
  740.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(AddMovie) (DATAH_GLOBALS() ADD_DATAH_COMMA Movie  theMovie, short * id);
  741.  
  742.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(UpdateMovie) (DATAH_GLOBALS() ADD_DATAH_COMMA Movie  theMovie, short  id);
  743.  
  744.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(DoesBuffer) (DATAH_GLOBALS() ADD_DATAH_COMMA Boolean * buffersReads, Boolean * buffersWrites);
  745.  
  746.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetFileName) (DATAH_GLOBALS() ADD_DATAH_COMMA Str255  str);
  747.  
  748.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetAvailableFileSize) (DATAH_GLOBALS() ADD_DATAH_COMMA long * fileSize);
  749.  
  750.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetMacOSFileType) (DATAH_GLOBALS() ADD_DATAH_COMMA OSType * fileType);
  751.  
  752.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetMIMEType) (DATAH_GLOBALS() ADD_DATAH_COMMA Str255  mimeType);
  753.  
  754.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(SetDataRefWithAnchor) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle  anchorDataRef, OSType  dataRefType, Handle  dataRef);
  755.  
  756.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetDataRefWithAnchor) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle  anchorDataRef, OSType  dataRefType, Handle * dataRef);
  757.  
  758.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(SetMacOSFileType) (DATAH_GLOBALS() ADD_DATAH_COMMA OSType  fileType);
  759.  
  760.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(SetTimeBase) (DATAH_GLOBALS() ADD_DATAH_COMMA TimeBase  tb);
  761.  
  762.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(PlaybackHints) (DATAH_GLOBALS() ADD_DATAH_COMMA long  flags, unsigned long  minFileOffset, unsigned long  maxFileOffset, long  bytesPerSecond);
  763.  
  764.  
  765.     /* MixedMode ProcInfo constants for component calls */
  766.     enum {
  767.         uppDataHGetDataProcInfo = 0x0000FFF0,
  768.         uppDataHPutDataProcInfo = 0x0000FFF0,
  769.         uppDataHFlushDataProcInfo = 0x000000F0,
  770.         uppDataHOpenForWriteProcInfo = 0x000000F0,
  771.         uppDataHCloseForWriteProcInfo = 0x000000F0,
  772.         uppDataHOpenForReadProcInfo = 0x000000F0,
  773.         uppDataHCloseForReadProcInfo = 0x000000F0,
  774.         uppDataHSetDataRefProcInfo = 0x000003F0,
  775.         uppDataHGetDataRefProcInfo = 0x000003F0,
  776.         uppDataHCompareDataRefProcInfo = 0x00000FF0,
  777.         uppDataHTaskProcInfo = 0x000000F0,
  778.         uppDataHScheduleDataProcInfo = 0x000FFFF0,
  779.         uppDataHFinishDataProcInfo = 0x000007F0,
  780.         uppDataHFlushCacheProcInfo = 0x000000F0,
  781.         uppDataHResolveDataRefProcInfo = 0x00001FF0,
  782.         uppDataHGetFileSizeProcInfo = 0x000003F0,
  783.         uppDataHCanUseDataRefProcInfo = 0x00000FF0,
  784.         uppDataHGetVolumeListProcInfo = 0x000003F0,
  785.         uppDataHWriteProcInfo = 0x0003FFF0,
  786.         uppDataHPreextendProcInfo = 0x00000FF0,
  787.         uppDataHSetFileSizeProcInfo = 0x000003F0,
  788.         uppDataHGetFreeSpaceProcInfo = 0x000003F0,
  789.         uppDataHCreateFileProcInfo = 0x000007F0,
  790.         uppDataHGetPreferredBlockSizeProcInfo = 0x000003F0,
  791.         uppDataHGetDeviceIndexProcInfo = 0x000003F0,
  792.         uppDataHIsStreamingDataHandlerProcInfo = 0x000003F0,
  793.         uppDataHGetDataInBufferProcInfo = 0x00000FF0,
  794.         uppDataHGetScheduleAheadTimeProcInfo = 0x000003F0,
  795.         uppDataHSetCacheSizeLimitProcInfo = 0x000003F0,
  796.         uppDataHGetCacheSizeLimitProcInfo = 0x000003F0,
  797.         uppDataHGetMovieProcInfo = 0x00000FF0,
  798.         uppDataHAddMovieProcInfo = 0x00000FF0,
  799.         uppDataHUpdateMovieProcInfo = 0x00000BF0,
  800.         uppDataHDoesBufferProcInfo = 0x00000FF0,
  801.         uppDataHGetFileNameProcInfo = 0x000003F0,
  802.         uppDataHGetAvailableFileSizeProcInfo = 0x000003F0,
  803.         uppDataHGetMacOSFileTypeProcInfo = 0x000003F0,
  804.         uppDataHGetMIMETypeProcInfo = 0x000003F0,
  805.         uppDataHSetDataRefWithAnchorProcInfo = 0x00003FF0,
  806.         uppDataHGetDataRefWithAnchorProcInfo = 0x00003FF0,
  807.         uppDataHSetMacOSFileTypeProcInfo = 0x000003F0,
  808.         uppDataHSetTimeBaseProcInfo = 0x000003F0,
  809.         uppDataHPlaybackHintsProcInfo = 0x0000FFF0
  810.     };
  811.  
  812. #endif    /* DATAH_BASENAME */
  813.  
  814. /*
  815.     Example usage:
  816.  
  817.         #define VD_BASENAME()    Fred
  818.         #define VD_GLOBALS()    FredGlobalsHandle
  819.         #include <QuickTimeComponents.k.h>
  820.  
  821.     To specify that your component implementation does not use globals, do not #define VD_GLOBALS
  822. */
  823. #ifdef VD_BASENAME
  824.     #ifndef VD_GLOBALS
  825.         #define VD_GLOBALS() 
  826.         #define ADD_VD_COMMA 
  827.     #else
  828.         #define ADD_VD_COMMA ,
  829.     #endif
  830.     #define VD_GLUE(a,b) a##b
  831.     #define VD_STRCAT(a,b) VD_GLUE(a,b)
  832.     #define ADD_VD_BASENAME(name) VD_STRCAT(VD_BASENAME(),name)
  833.  
  834.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetMaxSrcRect) (VD_GLOBALS() ADD_VD_COMMA short  inputStd, Rect * maxSrcRect);
  835.  
  836.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetActiveSrcRect) (VD_GLOBALS() ADD_VD_COMMA short  inputStd, Rect * activeSrcRect);
  837.  
  838.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetDigitizerRect) (VD_GLOBALS() ADD_VD_COMMA Rect * digitizerRect);
  839.  
  840.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetDigitizerRect) (VD_GLOBALS() ADD_VD_COMMA Rect * digitizerRect);
  841.  
  842.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetVBlankRect) (VD_GLOBALS() ADD_VD_COMMA short  inputStd, Rect * vBlankRect);
  843.  
  844.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetMaskPixMap) (VD_GLOBALS() ADD_VD_COMMA PixMapHandle  maskPixMap);
  845.  
  846.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetPlayThruDestination) (VD_GLOBALS() ADD_VD_COMMA PixMapHandle * dest, Rect * destRect, MatrixRecord * m, RgnHandle * mask);
  847.  
  848.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(UseThisCLUT) (VD_GLOBALS() ADD_VD_COMMA CTabHandle  colorTableHandle);
  849.  
  850.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetInputGammaValue) (VD_GLOBALS() ADD_VD_COMMA Fixed  channel1, Fixed  channel2, Fixed  channel3);
  851.  
  852.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetInputGammaValue) (VD_GLOBALS() ADD_VD_COMMA Fixed * channel1, Fixed * channel2, Fixed * channel3);
  853.  
  854.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetBrightness) (VD_GLOBALS() ADD_VD_COMMA unsigned short * brightness);
  855.  
  856.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetBrightness) (VD_GLOBALS() ADD_VD_COMMA unsigned short * brightness);
  857.  
  858.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetContrast) (VD_GLOBALS() ADD_VD_COMMA unsigned short * contrast);
  859.  
  860.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetHue) (VD_GLOBALS() ADD_VD_COMMA unsigned short * hue);
  861.  
  862.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetSharpness) (VD_GLOBALS() ADD_VD_COMMA unsigned short * sharpness);
  863.  
  864.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetSaturation) (VD_GLOBALS() ADD_VD_COMMA unsigned short * saturation);
  865.  
  866.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetContrast) (VD_GLOBALS() ADD_VD_COMMA unsigned short * contrast);
  867.  
  868.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetHue) (VD_GLOBALS() ADD_VD_COMMA unsigned short * hue);
  869.  
  870.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetSharpness) (VD_GLOBALS() ADD_VD_COMMA unsigned short * sharpness);
  871.  
  872.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetSaturation) (VD_GLOBALS() ADD_VD_COMMA unsigned short * saturation);
  873.  
  874.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GrabOneFrame) (VD_GLOBALS());
  875.  
  876.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetMaxAuxBuffer) (VD_GLOBALS() ADD_VD_COMMA PixMapHandle * pm, Rect * r);
  877.  
  878.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetDigitizerInfo) (VD_GLOBALS() ADD_VD_COMMA DigitizerInfo * info);
  879.  
  880.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetCurrentFlags) (VD_GLOBALS() ADD_VD_COMMA long * inputCurrentFlag, long * outputCurrentFlag);
  881.  
  882.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetKeyColor) (VD_GLOBALS() ADD_VD_COMMA long  index);
  883.  
  884.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetKeyColor) (VD_GLOBALS() ADD_VD_COMMA long * index);
  885.  
  886.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(AddKeyColor) (VD_GLOBALS() ADD_VD_COMMA long * index);
  887.  
  888.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetNextKeyColor) (VD_GLOBALS() ADD_VD_COMMA long  index);
  889.  
  890.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetKeyColorRange) (VD_GLOBALS() ADD_VD_COMMA RGBColor * minRGB, RGBColor * maxRGB);
  891.  
  892.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetKeyColorRange) (VD_GLOBALS() ADD_VD_COMMA RGBColor * minRGB, RGBColor * maxRGB);
  893.  
  894.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetDigitizerUserInterrupt) (VD_GLOBALS() ADD_VD_COMMA long  flags, VdigIntUPP  userInterruptProc, long  refcon);
  895.  
  896.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetInputColorSpaceMode) (VD_GLOBALS() ADD_VD_COMMA short  colorSpaceMode);
  897.  
  898.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetInputColorSpaceMode) (VD_GLOBALS() ADD_VD_COMMA short * colorSpaceMode);
  899.  
  900.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetClipState) (VD_GLOBALS() ADD_VD_COMMA short  clipEnable);
  901.  
  902.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetClipState) (VD_GLOBALS() ADD_VD_COMMA short * clipEnable);
  903.  
  904.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetClipRgn) (VD_GLOBALS() ADD_VD_COMMA RgnHandle  clipRegion);
  905.  
  906.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(ClearClipRgn) (VD_GLOBALS() ADD_VD_COMMA RgnHandle  clipRegion);
  907.  
  908.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetCLUTInUse) (VD_GLOBALS() ADD_VD_COMMA CTabHandle * colorTableHandle);
  909.  
  910.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetPLLFilterType) (VD_GLOBALS() ADD_VD_COMMA short  pllType);
  911.  
  912.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetPLLFilterType) (VD_GLOBALS() ADD_VD_COMMA short * pllType);
  913.  
  914.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetMaskandValue) (VD_GLOBALS() ADD_VD_COMMA unsigned short  blendLevel, long * mask, long * value);
  915.  
  916.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetMasterBlendLevel) (VD_GLOBALS() ADD_VD_COMMA unsigned short * blendLevel);
  917.  
  918.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetPlayThruDestination) (VD_GLOBALS() ADD_VD_COMMA PixMapHandle  dest, RectPtr  destRect, MatrixRecordPtr  m, RgnHandle  mask);
  919.  
  920.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetPlayThruOnOff) (VD_GLOBALS() ADD_VD_COMMA short  state);
  921.  
  922.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetFieldPreference) (VD_GLOBALS() ADD_VD_COMMA short  fieldFlag);
  923.  
  924.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetFieldPreference) (VD_GLOBALS() ADD_VD_COMMA short * fieldFlag);
  925.  
  926.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(PreflightDestination) (VD_GLOBALS() ADD_VD_COMMA Rect * digitizerRect, PixMap ** dest, RectPtr  destRect, MatrixRecordPtr  m);
  927.  
  928.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(PreflightGlobalRect) (VD_GLOBALS() ADD_VD_COMMA GrafPtr  theWindow, Rect * globalRect);
  929.  
  930.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetPlayThruGlobalRect) (VD_GLOBALS() ADD_VD_COMMA GrafPtr  theWindow, Rect * globalRect);
  931.  
  932.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetInputGammaRecord) (VD_GLOBALS() ADD_VD_COMMA VDGamRecPtr  inputGammaPtr);
  933.  
  934.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetInputGammaRecord) (VD_GLOBALS() ADD_VD_COMMA VDGamRecPtr * inputGammaPtr);
  935.  
  936.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetBlackLevelValue) (VD_GLOBALS() ADD_VD_COMMA unsigned short * blackLevel);
  937.  
  938.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetBlackLevelValue) (VD_GLOBALS() ADD_VD_COMMA unsigned short * blackLevel);
  939.  
  940.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetWhiteLevelValue) (VD_GLOBALS() ADD_VD_COMMA unsigned short * whiteLevel);
  941.  
  942.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetWhiteLevelValue) (VD_GLOBALS() ADD_VD_COMMA unsigned short * whiteLevel);
  943.  
  944.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetVideoDefaults) (VD_GLOBALS() ADD_VD_COMMA unsigned short * blackLevel, unsigned short * whiteLevel, unsigned short * brightness, unsigned short * hue, unsigned short * saturation, unsigned short * contrast, unsigned short * sharpness);
  945.  
  946.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetNumberOfInputs) (VD_GLOBALS() ADD_VD_COMMA short * inputs);
  947.  
  948.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetInputFormat) (VD_GLOBALS() ADD_VD_COMMA short  input, short * format);
  949.  
  950.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetInput) (VD_GLOBALS() ADD_VD_COMMA short  input);
  951.  
  952.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetInput) (VD_GLOBALS() ADD_VD_COMMA short * input);
  953.  
  954.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetInputStandard) (VD_GLOBALS() ADD_VD_COMMA short  inputStandard);
  955.  
  956.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetupBuffers) (VD_GLOBALS() ADD_VD_COMMA VdigBufferRecListHandle  bufferList);
  957.  
  958.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GrabOneFrameAsync) (VD_GLOBALS() ADD_VD_COMMA short  buffer);
  959.  
  960.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(Done) (VD_GLOBALS() ADD_VD_COMMA short  buffer);
  961.  
  962.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetCompression) (VD_GLOBALS() ADD_VD_COMMA OSType  compressType, short  depth, Rect * bounds, CodecQ  spatialQuality, CodecQ  temporalQuality, long  keyFrameRate);
  963.  
  964.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(CompressOneFrameAsync) (VD_GLOBALS());
  965.  
  966.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(CompressDone) (VD_GLOBALS() ADD_VD_COMMA Boolean * done, Ptr * theData, long * dataSize, UInt8 * similarity, TimeRecord * t);
  967.  
  968.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(ReleaseCompressBuffer) (VD_GLOBALS() ADD_VD_COMMA Ptr  bufferAddr);
  969.  
  970.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetImageDescription) (VD_GLOBALS() ADD_VD_COMMA ImageDescriptionHandle  desc);
  971.  
  972.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(ResetCompressSequence) (VD_GLOBALS());
  973.  
  974.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetCompressionOnOff) (VD_GLOBALS() ADD_VD_COMMA Boolean  state);
  975.  
  976.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetCompressionTypes) (VD_GLOBALS() ADD_VD_COMMA VDCompressionListHandle  h);
  977.  
  978.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetTimeBase) (VD_GLOBALS() ADD_VD_COMMA TimeBase  t);
  979.  
  980.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetFrameRate) (VD_GLOBALS() ADD_VD_COMMA Fixed  framesPerSecond);
  981.  
  982.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetDataRate) (VD_GLOBALS() ADD_VD_COMMA long * milliSecPerFrame, Fixed * framesPerSecond, long * bytesPerSecond);
  983.  
  984.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetSoundInputDriver) (VD_GLOBALS() ADD_VD_COMMA Str255  soundDriverName);
  985.  
  986.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetDMADepths) (VD_GLOBALS() ADD_VD_COMMA long * depthArray, long * preferredDepth);
  987.  
  988.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetPreferredTimeScale) (VD_GLOBALS() ADD_VD_COMMA TimeScale * preferred);
  989.  
  990.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(ReleaseAsyncBuffers) (VD_GLOBALS());
  991.  
  992.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetDataRate) (VD_GLOBALS() ADD_VD_COMMA long  bytesPerSecond);
  993.  
  994.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetTimeCode) (VD_GLOBALS() ADD_VD_COMMA TimeRecord * atTime, void * timeCodeFormat, void * timeCodeTime);
  995.  
  996.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(UseSafeBuffers) (VD_GLOBALS() ADD_VD_COMMA Boolean  useSafeBuffers);
  997.  
  998.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetSoundInputSource) (VD_GLOBALS() ADD_VD_COMMA long  videoInput, long * soundInput);
  999.  
  1000.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetCompressionTime) (VD_GLOBALS() ADD_VD_COMMA OSType  compressionType, short  depth, Rect * srcRect, CodecQ * spatialQuality, CodecQ * temporalQuality, unsigned long * compressTime);
  1001.  
  1002.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetPreferredPacketSize) (VD_GLOBALS() ADD_VD_COMMA long  preferredPacketSizeInBytes);
  1003.  
  1004.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetPreferredImageDimensions) (VD_GLOBALS() ADD_VD_COMMA long  width, long  height);
  1005.  
  1006.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetPreferredImageDimensions) (VD_GLOBALS() ADD_VD_COMMA long * width, long * height);
  1007.  
  1008.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetInputName) (VD_GLOBALS() ADD_VD_COMMA long  videoInput, Str255  name);
  1009.  
  1010.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetDestinationPort) (VD_GLOBALS() ADD_VD_COMMA CGrafPtr  destPort);
  1011.  
  1012.  
  1013.     /* MixedMode ProcInfo constants for component calls */
  1014.     enum {
  1015.         uppVDGetMaxSrcRectProcInfo = 0x00000EF0,
  1016.         uppVDGetActiveSrcRectProcInfo = 0x00000EF0,
  1017.         uppVDSetDigitizerRectProcInfo = 0x000003F0,
  1018.         uppVDGetDigitizerRectProcInfo = 0x000003F0,
  1019.         uppVDGetVBlankRectProcInfo = 0x00000EF0,
  1020.         uppVDGetMaskPixMapProcInfo = 0x000003F0,
  1021.         uppVDGetPlayThruDestinationProcInfo = 0x0000FFF0,
  1022.         uppVDUseThisCLUTProcInfo = 0x000003F0,
  1023.         uppVDSetInputGammaValueProcInfo = 0x00003FF0,
  1024.         uppVDGetInputGammaValueProcInfo = 0x00003FF0,
  1025.         uppVDSetBrightnessProcInfo = 0x000003F0,
  1026.         uppVDGetBrightnessProcInfo = 0x000003F0,
  1027.         uppVDSetContrastProcInfo = 0x000003F0,
  1028.         uppVDSetHueProcInfo = 0x000003F0,
  1029.         uppVDSetSharpnessProcInfo = 0x000003F0,
  1030.         uppVDSetSaturationProcInfo = 0x000003F0,
  1031.         uppVDGetContrastProcInfo = 0x000003F0,
  1032.         uppVDGetHueProcInfo = 0x000003F0,
  1033.         uppVDGetSharpnessProcInfo = 0x000003F0,
  1034.         uppVDGetSaturationProcInfo = 0x000003F0,
  1035.         uppVDGrabOneFrameProcInfo = 0x000000F0,
  1036.         uppVDGetMaxAuxBufferProcInfo = 0x00000FF0,
  1037.         uppVDGetDigitizerInfoProcInfo = 0x000003F0,
  1038.         uppVDGetCurrentFlagsProcInfo = 0x00000FF0,
  1039.         uppVDSetKeyColorProcInfo = 0x000003F0,
  1040.         uppVDGetKeyColorProcInfo = 0x000003F0,
  1041.         uppVDAddKeyColorProcInfo = 0x000003F0,
  1042.         uppVDGetNextKeyColorProcInfo = 0x000003F0,
  1043.         uppVDSetKeyColorRangeProcInfo = 0x00000FF0,
  1044.         uppVDGetKeyColorRangeProcInfo = 0x00000FF0,
  1045.         uppVDSetDigitizerUserInterruptProcInfo = 0x00003FF0,
  1046.         uppVDSetInputColorSpaceModeProcInfo = 0x000002F0,
  1047.         uppVDGetInputColorSpaceModeProcInfo = 0x000003F0,
  1048.         uppVDSetClipStateProcInfo = 0x000002F0,
  1049.         uppVDGetClipStateProcInfo = 0x000003F0,
  1050.         uppVDSetClipRgnProcInfo = 0x000003F0,
  1051.         uppVDClearClipRgnProcInfo = 0x000003F0,
  1052.         uppVDGetCLUTInUseProcInfo = 0x000003F0,
  1053.         uppVDSetPLLFilterTypeProcInfo = 0x000002F0,
  1054.         uppVDGetPLLFilterTypeProcInfo = 0x000003F0,
  1055.         uppVDGetMaskandValueProcInfo = 0x00003EF0,
  1056.         uppVDSetMasterBlendLevelProcInfo = 0x000003F0,
  1057.         uppVDSetPlayThruDestinationProcInfo = 0x0000FFF0,
  1058.         uppVDSetPlayThruOnOffProcInfo = 0x000002F0,
  1059.         uppVDSetFieldPreferenceProcInfo = 0x000002F0,
  1060.         uppVDGetFieldPreferenceProcInfo = 0x000003F0,
  1061.         uppVDPreflightDestinationProcInfo = 0x0000FFF0,
  1062.         uppVDPreflightGlobalRectProcInfo = 0x00000FF0,
  1063.         uppVDSetPlayThruGlobalRectProcInfo = 0x00000FF0,
  1064.         uppVDSetInputGammaRecordProcInfo = 0x000003F0,
  1065.         uppVDGetInputGammaRecordProcInfo = 0x000003F0,
  1066.         uppVDSetBlackLevelValueProcInfo = 0x000003F0,
  1067.         uppVDGetBlackLevelValueProcInfo = 0x000003F0,
  1068.         uppVDSetWhiteLevelValueProcInfo = 0x000003F0,
  1069.         uppVDGetWhiteLevelValueProcInfo = 0x000003F0,
  1070.         uppVDGetVideoDefaultsProcInfo = 0x003FFFF0,
  1071.         uppVDGetNumberOfInputsProcInfo = 0x000003F0,
  1072.         uppVDGetInputFormatProcInfo = 0x00000EF0,
  1073.         uppVDSetInputProcInfo = 0x000002F0,
  1074.         uppVDGetInputProcInfo = 0x000003F0,
  1075.         uppVDSetInputStandardProcInfo = 0x000002F0,
  1076.         uppVDSetupBuffersProcInfo = 0x000003F0,
  1077.         uppVDGrabOneFrameAsyncProcInfo = 0x000002F0,
  1078.         uppVDDoneProcInfo = 0x000002F0,
  1079.         uppVDSetCompressionProcInfo = 0x000FFBF0,
  1080.         uppVDCompressOneFrameAsyncProcInfo = 0x000000F0,
  1081.         uppVDCompressDoneProcInfo = 0x0003FFF0,
  1082.         uppVDReleaseCompressBufferProcInfo = 0x000003F0,
  1083.         uppVDGetImageDescriptionProcInfo = 0x000003F0,
  1084.         uppVDResetCompressSequenceProcInfo = 0x000000F0,
  1085.         uppVDSetCompressionOnOffProcInfo = 0x000001F0,
  1086.         uppVDGetCompressionTypesProcInfo = 0x000003F0,
  1087.         uppVDSetTimeBaseProcInfo = 0x000003F0,
  1088.         uppVDSetFrameRateProcInfo = 0x000003F0,
  1089.         uppVDGetDataRateProcInfo = 0x00003FF0,
  1090.         uppVDGetSoundInputDriverProcInfo = 0x000003F0,
  1091.         uppVDGetDMADepthsProcInfo = 0x00000FF0,
  1092.         uppVDGetPreferredTimeScaleProcInfo = 0x000003F0,
  1093.         uppVDReleaseAsyncBuffersProcInfo = 0x000000F0,
  1094.         uppVDSetDataRateProcInfo = 0x000003F0,
  1095.         uppVDGetTimeCodeProcInfo = 0x00003FF0,
  1096.         uppVDUseSafeBuffersProcInfo = 0x000001F0,
  1097.         uppVDGetSoundInputSourceProcInfo = 0x00000FF0,
  1098.         uppVDGetCompressionTimeProcInfo = 0x000FFBF0,
  1099.         uppVDSetPreferredPacketSizeProcInfo = 0x000003F0,
  1100.         uppVDSetPreferredImageDimensionsProcInfo = 0x00000FF0,
  1101.         uppVDGetPreferredImageDimensionsProcInfo = 0x00000FF0,
  1102.         uppVDGetInputNameProcInfo = 0x00000FF0,
  1103.         uppVDSetDestinationPortProcInfo = 0x000003F0
  1104.     };
  1105.  
  1106. #endif    /* VD_BASENAME */
  1107.  
  1108. /*
  1109.     Example usage:
  1110.  
  1111.         #define SG_BASENAME()    Fred
  1112.         #define SG_GLOBALS()    FredGlobalsHandle
  1113.         #include <QuickTimeComponents.k.h>
  1114.  
  1115.     To specify that your component implementation does not use globals, do not #define SG_GLOBALS
  1116. */
  1117. #ifdef SG_BASENAME
  1118.     #ifndef SG_GLOBALS
  1119.         #define SG_GLOBALS() 
  1120.         #define ADD_SG_COMMA 
  1121.     #else
  1122.         #define ADD_SG_COMMA ,
  1123.     #endif
  1124.     #define SG_GLUE(a,b) a##b
  1125.     #define SG_STRCAT(a,b) SG_GLUE(a,b)
  1126.     #define ADD_SG_BASENAME(name) SG_STRCAT(SG_BASENAME(),name)
  1127.  
  1128.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(Initialize) (SG_GLOBALS());
  1129.  
  1130.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetDataOutput) (SG_GLOBALS() ADD_SG_COMMA const FSSpec * movieFile, long  whereFlags);
  1131.  
  1132.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetDataOutput) (SG_GLOBALS() ADD_SG_COMMA FSSpec * movieFile, long * whereFlags);
  1133.  
  1134.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetGWorld) (SG_GLOBALS() ADD_SG_COMMA CGrafPtr  gp, GDHandle  gd);
  1135.  
  1136.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetGWorld) (SG_GLOBALS() ADD_SG_COMMA CGrafPtr * gp, GDHandle * gd);
  1137.  
  1138.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(NewChannel) (SG_GLOBALS() ADD_SG_COMMA OSType  channelType, SGChannel * ref);
  1139.  
  1140.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(DisposeChannel) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c);
  1141.  
  1142.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(StartPreview) (SG_GLOBALS());
  1143.  
  1144.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(StartRecord) (SG_GLOBALS());
  1145.  
  1146.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(Idle) (SG_GLOBALS());
  1147.  
  1148.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(Stop) (SG_GLOBALS());
  1149.  
  1150.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(Pause) (SG_GLOBALS() ADD_SG_COMMA Byte  pause);
  1151.  
  1152.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(Prepare) (SG_GLOBALS() ADD_SG_COMMA Boolean  prepareForPreview, Boolean  prepareForRecord);
  1153.  
  1154.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(Release) (SG_GLOBALS());
  1155.  
  1156.     EXTERN_API( Movie  ) ADD_SG_BASENAME(GetMovie) (SG_GLOBALS());
  1157.  
  1158.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetMaximumRecordTime) (SG_GLOBALS() ADD_SG_COMMA unsigned long  ticks);
  1159.  
  1160.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetMaximumRecordTime) (SG_GLOBALS() ADD_SG_COMMA unsigned long * ticks);
  1161.  
  1162.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetStorageSpaceRemaining) (SG_GLOBALS() ADD_SG_COMMA unsigned long * bytes);
  1163.  
  1164.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetTimeRemaining) (SG_GLOBALS() ADD_SG_COMMA long * ticksLeft);
  1165.  
  1166.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GrabPict) (SG_GLOBALS() ADD_SG_COMMA PicHandle * p, const Rect * bounds, short  offscreenDepth, long  grabPictFlags);
  1167.  
  1168.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetLastMovieResID) (SG_GLOBALS() ADD_SG_COMMA short * resID);
  1169.  
  1170.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetFlags) (SG_GLOBALS() ADD_SG_COMMA long  sgFlags);
  1171.  
  1172.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetFlags) (SG_GLOBALS() ADD_SG_COMMA long * sgFlags);
  1173.  
  1174.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetDataProc) (SG_GLOBALS() ADD_SG_COMMA SGDataUPP  proc, long  refCon);
  1175.  
  1176.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(NewChannelFromComponent) (SG_GLOBALS() ADD_SG_COMMA SGChannel * newChannel, Component  sgChannelComponent);
  1177.  
  1178.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(DisposeDeviceList) (SG_GLOBALS() ADD_SG_COMMA SGDeviceList  list);
  1179.  
  1180.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(AppendDeviceListToMenu) (SG_GLOBALS() ADD_SG_COMMA SGDeviceList  list, MenuHandle  mh);
  1181.  
  1182.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetSettings) (SG_GLOBALS() ADD_SG_COMMA UserData  ud, long  flags);
  1183.  
  1184.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetSettings) (SG_GLOBALS() ADD_SG_COMMA UserData * ud, long  flags);
  1185.  
  1186.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetIndChannel) (SG_GLOBALS() ADD_SG_COMMA short  index, SGChannel * ref, OSType * chanType);
  1187.  
  1188.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(Update) (SG_GLOBALS() ADD_SG_COMMA RgnHandle  updateRgn);
  1189.  
  1190.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetPause) (SG_GLOBALS() ADD_SG_COMMA Byte * paused);
  1191.  
  1192.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SettingsDialog) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, short  numPanels, ConstComponentListPtr  panelList, long  flags, SGModalFilterUPP  proc, long  procRefNum);
  1193.  
  1194.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetAlignmentProc) (SG_GLOBALS() ADD_SG_COMMA ICMAlignmentProcRecordPtr  alignmentProc);
  1195.  
  1196.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelSettings) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, UserData  ud, long  flags);
  1197.  
  1198.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelSettings) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, UserData * ud, long  flags);
  1199.  
  1200.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetMode) (SG_GLOBALS() ADD_SG_COMMA Boolean * previewMode, Boolean * recordMode);
  1201.  
  1202.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetDataRef) (SG_GLOBALS() ADD_SG_COMMA Handle  dataRef, OSType  dataRefType, long  whereFlags);
  1203.  
  1204.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetDataRef) (SG_GLOBALS() ADD_SG_COMMA Handle * dataRef, OSType * dataRefType, long * whereFlags);
  1205.  
  1206.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(NewOutput) (SG_GLOBALS() ADD_SG_COMMA Handle  dataRef, OSType  dataRefType, long  whereFlags, SGOutput * sgOut);
  1207.  
  1208.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(DisposeOutput) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut);
  1209.  
  1210.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetOutputFlags) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut, long  whereFlags);
  1211.  
  1212.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelOutput) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, SGOutput  sgOut);
  1213.  
  1214.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetDataOutputStorageSpaceRemaining) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut, unsigned long * space);
  1215.  
  1216.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(HandleUpdateEvent) (SG_GLOBALS() ADD_SG_COMMA const EventRecord * event, Boolean * handled);
  1217.  
  1218.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetOutputNextOutput) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut, SGOutput  nextOut);
  1219.  
  1220.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetOutputNextOutput) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut, SGOutput * nextOut);
  1221.  
  1222.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetOutputMaximumOffset) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut, const wide * maxOffset);
  1223.  
  1224.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetOutputMaximumOffset) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut, wide * maxOffset);
  1225.  
  1226.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetOutputDataReference) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut, Handle * dataRef, OSType * dataRefType);
  1227.  
  1228.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(WriteExtendedMovieData) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, Ptr  p, long  len, wide * offset, SGOutput * sgOut);
  1229.  
  1230.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(WriteMovieData) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, Ptr  p, long  len, long * offset);
  1231.  
  1232.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(AddFrameReference) (SG_GLOBALS() ADD_SG_COMMA SeqGrabFrameInfoPtr  frameInfo);
  1233.  
  1234.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetNextFrameReference) (SG_GLOBALS() ADD_SG_COMMA SeqGrabFrameInfoPtr  frameInfo, TimeValue * frameDuration, long * frameNumber);
  1235.  
  1236.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetTimeBase) (SG_GLOBALS() ADD_SG_COMMA TimeBase * tb);
  1237.  
  1238.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SortDeviceList) (SG_GLOBALS() ADD_SG_COMMA SGDeviceList  list);
  1239.  
  1240.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(AddMovieData) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, Ptr  p, long  len, long * offset, long  chRefCon, TimeValue  time, short  writeType);
  1241.  
  1242.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(ChangedSource) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c);
  1243.  
  1244.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(AddExtendedFrameReference) (SG_GLOBALS() ADD_SG_COMMA SeqGrabExtendedFrameInfoPtr  frameInfo);
  1245.  
  1246.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetNextExtendedFrameReference) (SG_GLOBALS() ADD_SG_COMMA SeqGrabExtendedFrameInfoPtr  frameInfo, TimeValue * frameDuration, long * frameNumber);
  1247.  
  1248.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(AddExtendedMovieData) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, Ptr  p, long  len, wide * offset, long  chRefCon, TimeValue  time, short  writeType, SGOutput * whichOutput);
  1249.  
  1250.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(AddOutputDataRefToMedia) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut, Media  theMedia, SampleDescriptionHandle  desc);
  1251.  
  1252.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelUsage) (SG_GLOBALS() ADD_SG_COMMA long  usage);
  1253.  
  1254.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelUsage) (SG_GLOBALS() ADD_SG_COMMA long * usage);
  1255.  
  1256.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelBounds) (SG_GLOBALS() ADD_SG_COMMA const Rect * bounds);
  1257.  
  1258.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelBounds) (SG_GLOBALS() ADD_SG_COMMA Rect * bounds);
  1259.  
  1260.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelVolume) (SG_GLOBALS() ADD_SG_COMMA short  volume);
  1261.  
  1262.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelVolume) (SG_GLOBALS() ADD_SG_COMMA short * volume);
  1263.  
  1264.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelInfo) (SG_GLOBALS() ADD_SG_COMMA long * channelInfo);
  1265.  
  1266.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelPlayFlags) (SG_GLOBALS() ADD_SG_COMMA long  playFlags);
  1267.  
  1268.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelPlayFlags) (SG_GLOBALS() ADD_SG_COMMA long * playFlags);
  1269.  
  1270.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelMaxFrames) (SG_GLOBALS() ADD_SG_COMMA long  frameCount);
  1271.  
  1272.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelMaxFrames) (SG_GLOBALS() ADD_SG_COMMA long * frameCount);
  1273.  
  1274.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelRefCon) (SG_GLOBALS() ADD_SG_COMMA long  refCon);
  1275.  
  1276.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelClip) (SG_GLOBALS() ADD_SG_COMMA RgnHandle  theClip);
  1277.  
  1278.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelClip) (SG_GLOBALS() ADD_SG_COMMA RgnHandle * theClip);
  1279.  
  1280.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelSampleDescription) (SG_GLOBALS() ADD_SG_COMMA Handle  sampleDesc);
  1281.  
  1282.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelDeviceList) (SG_GLOBALS() ADD_SG_COMMA long  selectionFlags, SGDeviceList * list);
  1283.  
  1284.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelDevice) (SG_GLOBALS() ADD_SG_COMMA StringPtr  name);
  1285.  
  1286.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelMatrix) (SG_GLOBALS() ADD_SG_COMMA const MatrixRecord * m);
  1287.  
  1288.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelMatrix) (SG_GLOBALS() ADD_SG_COMMA MatrixRecord * m);
  1289.  
  1290.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelTimeScale) (SG_GLOBALS() ADD_SG_COMMA TimeScale * scale);
  1291.  
  1292.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(ChannelPutPicture) (SG_GLOBALS());
  1293.  
  1294.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(ChannelSetRequestedDataRate) (SG_GLOBALS() ADD_SG_COMMA long  bytesPerSecond);
  1295.  
  1296.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(ChannelGetRequestedDataRate) (SG_GLOBALS() ADD_SG_COMMA long * bytesPerSecond);
  1297.  
  1298.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(ChannelSetDataSourceName) (SG_GLOBALS() ADD_SG_COMMA ConstStr255Param  name, ScriptCode  scriptTag);
  1299.  
  1300.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(ChannelGetDataSourceName) (SG_GLOBALS() ADD_SG_COMMA Str255  name, ScriptCode * scriptTag);
  1301.  
  1302.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(InitChannel) (SG_GLOBALS() ADD_SG_COMMA SeqGrabComponent  owner);
  1303.  
  1304.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(WriteSamples) (SG_GLOBALS() ADD_SG_COMMA Movie  m, AliasHandle  theFile);
  1305.  
  1306.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetDataRate) (SG_GLOBALS() ADD_SG_COMMA long * bytesPerSecond);
  1307.  
  1308.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(AlignChannelRect) (SG_GLOBALS() ADD_SG_COMMA Rect * r);
  1309.  
  1310.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelGetDitl) (SG_GLOBALS() ADD_SG_COMMA Handle * ditl);
  1311.  
  1312.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelGetTitle) (SG_GLOBALS() ADD_SG_COMMA Str255  title);
  1313.  
  1314.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelCanRun) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c);
  1315.  
  1316.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelInstall) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, DialogPtr  d, short  itemOffset);
  1317.  
  1318.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelEvent) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, DialogPtr  d, short  itemOffset, const EventRecord * theEvent, short * itemHit, Boolean * handled);
  1319.  
  1320.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelItem) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, DialogPtr  d, short  itemOffset, short  itemNum);
  1321.  
  1322.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelRemove) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, DialogPtr  d, short  itemOffset);
  1323.  
  1324.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelSetGrabber) (SG_GLOBALS() ADD_SG_COMMA SeqGrabComponent  sg);
  1325.  
  1326.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelSetResFile) (SG_GLOBALS() ADD_SG_COMMA short  resRef);
  1327.  
  1328.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelGetSettings) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, UserData * ud, long  flags);
  1329.  
  1330.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelSetSettings) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, UserData  ud, long  flags);
  1331.  
  1332.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelValidateInput) (SG_GLOBALS() ADD_SG_COMMA Boolean * ok);
  1333.  
  1334.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelSetEventFilter) (SG_GLOBALS() ADD_SG_COMMA SGModalFilterUPP  proc, long  refCon);
  1335.  
  1336.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetSrcVideoBounds) (SG_GLOBALS() ADD_SG_COMMA Rect * r);
  1337.  
  1338.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetVideoRect) (SG_GLOBALS() ADD_SG_COMMA const Rect * r);
  1339.  
  1340.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetVideoRect) (SG_GLOBALS() ADD_SG_COMMA Rect * r);
  1341.  
  1342.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetVideoCompressorType) (SG_GLOBALS() ADD_SG_COMMA OSType * compressorType);
  1343.  
  1344.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetVideoCompressorType) (SG_GLOBALS() ADD_SG_COMMA OSType  compressorType);
  1345.  
  1346.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetVideoCompressor) (SG_GLOBALS() ADD_SG_COMMA short  depth, CompressorComponent  compressor, CodecQ  spatialQuality, CodecQ  temporalQuality, long  keyFrameRate);
  1347.  
  1348.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetVideoCompressor) (SG_GLOBALS() ADD_SG_COMMA short * depth, CompressorComponent * compressor, CodecQ * spatialQuality, CodecQ * temporalQuality, long * keyFrameRate);
  1349.  
  1350.     EXTERN_API( ComponentInstance  ) ADD_SG_BASENAME(GetVideoDigitizerComponent) (SG_GLOBALS());
  1351.  
  1352.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetVideoDigitizerComponent) (SG_GLOBALS() ADD_SG_COMMA ComponentInstance  vdig);
  1353.  
  1354.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(VideoDigitizerChanged) (SG_GLOBALS());
  1355.  
  1356.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetVideoBottlenecks) (SG_GLOBALS() ADD_SG_COMMA VideoBottles * vb);
  1357.  
  1358.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetVideoBottlenecks) (SG_GLOBALS() ADD_SG_COMMA VideoBottles * vb);
  1359.  
  1360.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GrabFrame) (SG_GLOBALS() ADD_SG_COMMA short  bufferNum);
  1361.  
  1362.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GrabFrameComplete) (SG_GLOBALS() ADD_SG_COMMA short  bufferNum, Boolean * done);
  1363.  
  1364.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(DisplayFrame) (SG_GLOBALS() ADD_SG_COMMA short  bufferNum, const MatrixRecord * mp, RgnHandle  clipRgn);
  1365.  
  1366.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(CompressFrame) (SG_GLOBALS() ADD_SG_COMMA short  bufferNum);
  1367.  
  1368.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(CompressFrameComplete) (SG_GLOBALS() ADD_SG_COMMA short  bufferNum, Boolean * done, SGCompressInfo * ci);
  1369.  
  1370.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(AddFrame) (SG_GLOBALS() ADD_SG_COMMA short  bufferNum, TimeValue  atTime, TimeScale  scale, const SGCompressInfo * ci);
  1371.  
  1372.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(TransferFrameForCompress) (SG_GLOBALS() ADD_SG_COMMA short  bufferNum, const MatrixRecord * mp, RgnHandle  clipRgn);
  1373.  
  1374.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetCompressBuffer) (SG_GLOBALS() ADD_SG_COMMA short  depth, const Rect * compressSize);
  1375.  
  1376.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetCompressBuffer) (SG_GLOBALS() ADD_SG_COMMA short * depth, Rect * compressSize);
  1377.  
  1378.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetBufferInfo) (SG_GLOBALS() ADD_SG_COMMA short  bufferNum, PixMapHandle * bufferPM, Rect * bufferRect, GWorldPtr * compressBuffer, Rect * compressBufferRect);
  1379.  
  1380.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetUseScreenBuffer) (SG_GLOBALS() ADD_SG_COMMA Boolean  useScreenBuffer);
  1381.  
  1382.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetUseScreenBuffer) (SG_GLOBALS() ADD_SG_COMMA Boolean * useScreenBuffer);
  1383.  
  1384.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GrabCompressComplete) (SG_GLOBALS() ADD_SG_COMMA Boolean * done, SGCompressInfo * ci, TimeRecord * tr);
  1385.  
  1386.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(DisplayCompress) (SG_GLOBALS() ADD_SG_COMMA Ptr  dataPtr, ImageDescriptionHandle  desc, MatrixRecord * mp, RgnHandle  clipRgn);
  1387.  
  1388.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetFrameRate) (SG_GLOBALS() ADD_SG_COMMA Fixed  frameRate);
  1389.  
  1390.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetFrameRate) (SG_GLOBALS() ADD_SG_COMMA Fixed * frameRate);
  1391.  
  1392.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetPreferredPacketSize) (SG_GLOBALS() ADD_SG_COMMA long  preferredPacketSizeInBytes);
  1393.  
  1394.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetPreferredPacketSize) (SG_GLOBALS() ADD_SG_COMMA long * preferredPacketSizeInBytes);
  1395.  
  1396.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetUserVideoCompressorList) (SG_GLOBALS() ADD_SG_COMMA Handle  compressorTypes);
  1397.  
  1398.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetUserVideoCompressorList) (SG_GLOBALS() ADD_SG_COMMA Handle * compressorTypes);
  1399.  
  1400.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetSoundInputDriver) (SG_GLOBALS() ADD_SG_COMMA ConstStr255Param  driverName);
  1401.  
  1402.     EXTERN_API( long  ) ADD_SG_BASENAME(GetSoundInputDriver) (SG_GLOBALS());
  1403.  
  1404.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SoundInputDriverChanged) (SG_GLOBALS());
  1405.  
  1406.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetSoundRecordChunkSize) (SG_GLOBALS() ADD_SG_COMMA long  seconds);
  1407.  
  1408.     EXTERN_API( long  ) ADD_SG_BASENAME(GetSoundRecordChunkSize) (SG_GLOBALS());
  1409.  
  1410.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetSoundInputRate) (SG_GLOBALS() ADD_SG_COMMA Fixed  rate);
  1411.  
  1412.     EXTERN_API( Fixed  ) ADD_SG_BASENAME(GetSoundInputRate) (SG_GLOBALS());
  1413.  
  1414.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetSoundInputParameters) (SG_GLOBALS() ADD_SG_COMMA short  sampleSize, short  numChannels, OSType  compressionType);
  1415.  
  1416.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetSoundInputParameters) (SG_GLOBALS() ADD_SG_COMMA short * sampleSize, short * numChannels, OSType * compressionType);
  1417.  
  1418.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetAdditionalSoundRates) (SG_GLOBALS() ADD_SG_COMMA Handle  rates);
  1419.  
  1420.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetAdditionalSoundRates) (SG_GLOBALS() ADD_SG_COMMA Handle * rates);
  1421.  
  1422.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetFontName) (SG_GLOBALS() ADD_SG_COMMA StringPtr  pstr);
  1423.  
  1424.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetFontSize) (SG_GLOBALS() ADD_SG_COMMA short  fontSize);
  1425.  
  1426.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetTextForeColor) (SG_GLOBALS() ADD_SG_COMMA RGBColor * theColor);
  1427.  
  1428.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetTextBackColor) (SG_GLOBALS() ADD_SG_COMMA RGBColor * theColor);
  1429.  
  1430.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetJustification) (SG_GLOBALS() ADD_SG_COMMA short  just);
  1431.  
  1432.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetTextReturnToSpaceValue) (SG_GLOBALS() ADD_SG_COMMA short * rettospace);
  1433.  
  1434.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetTextReturnToSpaceValue) (SG_GLOBALS() ADD_SG_COMMA short  rettospace);
  1435.  
  1436.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetInstrument) (SG_GLOBALS() ADD_SG_COMMA ToneDescription * td);
  1437.  
  1438.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetInstrument) (SG_GLOBALS() ADD_SG_COMMA ToneDescription * td);
  1439.  
  1440.  
  1441.     /* MixedMode ProcInfo constants for component calls */
  1442.     enum {
  1443.         uppSGInitializeProcInfo = 0x000000F0,
  1444.         uppSGSetDataOutputProcInfo = 0x00000FF0,
  1445.         uppSGGetDataOutputProcInfo = 0x00000FF0,
  1446.         uppSGSetGWorldProcInfo = 0x00000FF0,
  1447.         uppSGGetGWorldProcInfo = 0x00000FF0,
  1448.         uppSGNewChannelProcInfo = 0x00000FF0,
  1449.         uppSGDisposeChannelProcInfo = 0x000003F0,
  1450.         uppSGStartPreviewProcInfo = 0x000000F0,
  1451.         uppSGStartRecordProcInfo = 0x000000F0,
  1452.         uppSGIdleProcInfo = 0x000000F0,
  1453.         uppSGStopProcInfo = 0x000000F0,
  1454.         uppSGPauseProcInfo = 0x000001F0,
  1455.         uppSGPrepareProcInfo = 0x000005F0,
  1456.         uppSGReleaseProcInfo = 0x000000F0,
  1457.         uppSGGetMovieProcInfo = 0x000000F0,
  1458.         uppSGSetMaximumRecordTimeProcInfo = 0x000003F0,
  1459.         uppSGGetMaximumRecordTimeProcInfo = 0x000003F0,
  1460.         uppSGGetStorageSpaceRemainingProcInfo = 0x000003F0,
  1461.         uppSGGetTimeRemainingProcInfo = 0x000003F0,
  1462.         uppSGGrabPictProcInfo = 0x0000EFF0,
  1463.         uppSGGetLastMovieResIDProcInfo = 0x000003F0,
  1464.         uppSGSetFlagsProcInfo = 0x000003F0,
  1465.         uppSGGetFlagsProcInfo = 0x000003F0,
  1466.         uppSGSetDataProcProcInfo = 0x00000FF0,
  1467.         uppSGNewChannelFromComponentProcInfo = 0x00000FF0,
  1468.         uppSGDisposeDeviceListProcInfo = 0x000003F0,
  1469.         uppSGAppendDeviceListToMenuProcInfo = 0x00000FF0,
  1470.         uppSGSetSettingsProcInfo = 0x00000FF0,
  1471.         uppSGGetSettingsProcInfo = 0x00000FF0,
  1472.         uppSGGetIndChannelProcInfo = 0x00003EF0,
  1473.         uppSGUpdateProcInfo = 0x000003F0,
  1474.         uppSGGetPauseProcInfo = 0x000003F0,
  1475.         uppSGSettingsDialogProcInfo = 0x000FFBF0,
  1476.         uppSGGetAlignmentProcProcInfo = 0x000003F0,
  1477.         uppSGSetChannelSettingsProcInfo = 0x00003FF0,
  1478.         uppSGGetChannelSettingsProcInfo = 0x00003FF0,
  1479.         uppSGGetModeProcInfo = 0x00000FF0,
  1480.         uppSGSetDataRefProcInfo = 0x00003FF0,
  1481.         uppSGGetDataRefProcInfo = 0x00003FF0,
  1482.         uppSGNewOutputProcInfo = 0x0000FFF0,
  1483.         uppSGDisposeOutputProcInfo = 0x000003F0,
  1484.         uppSGSetOutputFlagsProcInfo = 0x00000FF0,
  1485.         uppSGSetChannelOutputProcInfo = 0x00000FF0,
  1486.         uppSGGetDataOutputStorageSpaceRemainingProcInfo = 0x00000FF0,
  1487.         uppSGHandleUpdateEventProcInfo = 0x00000FF0,
  1488.         uppSGSetOutputNextOutputProcInfo = 0x00000FF0,
  1489.         uppSGGetOutputNextOutputProcInfo = 0x00000FF0,
  1490.         uppSGSetOutputMaximumOffsetProcInfo = 0x00000FF0,
  1491.         uppSGGetOutputMaximumOffsetProcInfo = 0x00000FF0,
  1492.         uppSGGetOutputDataReferenceProcInfo = 0x00003FF0,
  1493.         uppSGWriteExtendedMovieDataProcInfo = 0x0003FFF0,
  1494.         uppSGWriteMovieDataProcInfo = 0x0000FFF0,
  1495.         uppSGAddFrameReferenceProcInfo = 0x000003F0,
  1496.         uppSGGetNextFrameReferenceProcInfo = 0x00003FF0,
  1497.         uppSGGetTimeBaseProcInfo = 0x000003F0,
  1498.         uppSGSortDeviceListProcInfo = 0x000003F0,
  1499.         uppSGAddMovieDataProcInfo = 0x002FFFF0,
  1500.         uppSGChangedSourceProcInfo = 0x000003F0,
  1501.         uppSGAddExtendedFrameReferenceProcInfo = 0x000003F0,
  1502.         uppSGGetNextExtendedFrameReferenceProcInfo = 0x00003FF0,
  1503.         uppSGAddExtendedMovieDataProcInfo = 0x00EFFFF0,
  1504.         uppSGAddOutputDataRefToMediaProcInfo = 0x00003FF0,
  1505.         uppSGSetChannelUsageProcInfo = 0x000003F0,
  1506.         uppSGGetChannelUsageProcInfo = 0x000003F0,
  1507.         uppSGSetChannelBoundsProcInfo = 0x000003F0,
  1508.         uppSGGetChannelBoundsProcInfo = 0x000003F0,
  1509.         uppSGSetChannelVolumeProcInfo = 0x000002F0,
  1510.         uppSGGetChannelVolumeProcInfo = 0x000003F0,
  1511.         uppSGGetChannelInfoProcInfo = 0x000003F0,
  1512.         uppSGSetChannelPlayFlagsProcInfo = 0x000003F0,
  1513.         uppSGGetChannelPlayFlagsProcInfo = 0x000003F0,
  1514.         uppSGSetChannelMaxFramesProcInfo = 0x000003F0,
  1515.         uppSGGetChannelMaxFramesProcInfo = 0x000003F0,
  1516.         uppSGSetChannelRefConProcInfo = 0x000003F0,
  1517.         uppSGSetChannelClipProcInfo = 0x000003F0,
  1518.         uppSGGetChannelClipProcInfo = 0x000003F0,
  1519.         uppSGGetChannelSampleDescriptionProcInfo = 0x000003F0,
  1520.         uppSGGetChannelDeviceListProcInfo = 0x00000FF0,
  1521.         uppSGSetChannelDeviceProcInfo = 0x000003F0,
  1522.         uppSGSetChannelMatrixProcInfo = 0x000003F0,
  1523.         uppSGGetChannelMatrixProcInfo = 0x000003F0,
  1524.         uppSGGetChannelTimeScaleProcInfo = 0x000003F0,
  1525.         uppSGChannelPutPictureProcInfo = 0x000000F0,
  1526.         uppSGChannelSetRequestedDataRateProcInfo = 0x000003F0,
  1527.         uppSGChannelGetRequestedDataRateProcInfo = 0x000003F0,
  1528.         uppSGChannelSetDataSourceNameProcInfo = 0x00000BF0,
  1529.         uppSGChannelGetDataSourceNameProcInfo = 0x00000FF0,
  1530.         uppSGInitChannelProcInfo = 0x000003F0,
  1531.         uppSGWriteSamplesProcInfo = 0x00000FF0,
  1532.         uppSGGetDataRateProcInfo = 0x000003F0,
  1533.         uppSGAlignChannelRectProcInfo = 0x000003F0,
  1534.         uppSGPanelGetDitlProcInfo = 0x000003F0,
  1535.         uppSGPanelGetTitleProcInfo = 0x000003F0,
  1536.         uppSGPanelCanRunProcInfo = 0x000003F0,
  1537.         uppSGPanelInstallProcInfo = 0x00002FF0,
  1538.         uppSGPanelEventProcInfo = 0x000FEFF0,
  1539.         uppSGPanelItemProcInfo = 0x0000AFF0,
  1540.         uppSGPanelRemoveProcInfo = 0x00002FF0,
  1541.         uppSGPanelSetGrabberProcInfo = 0x000003F0,
  1542.         uppSGPanelSetResFileProcInfo = 0x000002F0,
  1543.         uppSGPanelGetSettingsProcInfo = 0x00003FF0,
  1544.         uppSGPanelSetSettingsProcInfo = 0x00003FF0,
  1545.         uppSGPanelValidateInputProcInfo = 0x000003F0,
  1546.         uppSGPanelSetEventFilterProcInfo = 0x00000FF0,
  1547.         uppSGGetSrcVideoBoundsProcInfo = 0x000003F0,
  1548.         uppSGSetVideoRectProcInfo = 0x000003F0,
  1549.         uppSGGetVideoRectProcInfo = 0x000003F0,
  1550.         uppSGGetVideoCompressorTypeProcInfo = 0x000003F0,
  1551.         uppSGSetVideoCompressorTypeProcInfo = 0x000003F0,
  1552.         uppSGSetVideoCompressorProcInfo = 0x0003FEF0,
  1553.         uppSGGetVideoCompressorProcInfo = 0x0003FFF0,
  1554.         uppSGGetVideoDigitizerComponentProcInfo = 0x000000F0,
  1555.         uppSGSetVideoDigitizerComponentProcInfo = 0x000003F0,
  1556.         uppSGVideoDigitizerChangedProcInfo = 0x000000F0,
  1557.         uppSGSetVideoBottlenecksProcInfo = 0x000003F0,
  1558.         uppSGGetVideoBottlenecksProcInfo = 0x000003F0,
  1559.         uppSGGrabFrameProcInfo = 0x000002F0,
  1560.         uppSGGrabFrameCompleteProcInfo = 0x00000EF0,
  1561.         uppSGDisplayFrameProcInfo = 0x00003EF0,
  1562.         uppSGCompressFrameProcInfo = 0x000002F0,
  1563.         uppSGCompressFrameCompleteProcInfo = 0x00003EF0,
  1564.         uppSGAddFrameProcInfo = 0x0000FEF0,
  1565.         uppSGTransferFrameForCompressProcInfo = 0x00003EF0,
  1566.         uppSGSetCompressBufferProcInfo = 0x00000EF0,
  1567.         uppSGGetCompressBufferProcInfo = 0x00000FF0,
  1568.         uppSGGetBufferInfoProcInfo = 0x0003FEF0,
  1569.         uppSGSetUseScreenBufferProcInfo = 0x000001F0,
  1570.         uppSGGetUseScreenBufferProcInfo = 0x000003F0,
  1571.         uppSGGrabCompressCompleteProcInfo = 0x00003FF0,
  1572.         uppSGDisplayCompressProcInfo = 0x0000FFF0,
  1573.         uppSGSetFrameRateProcInfo = 0x000003F0,
  1574.         uppSGGetFrameRateProcInfo = 0x000003F0,
  1575.         uppSGSetPreferredPacketSizeProcInfo = 0x000003F0,
  1576.         uppSGGetPreferredPacketSizeProcInfo = 0x000003F0,
  1577.         uppSGSetUserVideoCompressorListProcInfo = 0x000003F0,
  1578.         uppSGGetUserVideoCompressorListProcInfo = 0x000003F0,
  1579.         uppSGSetSoundInputDriverProcInfo = 0x000003F0,
  1580.         uppSGGetSoundInputDriverProcInfo = 0x000000F0,
  1581.         uppSGSoundInputDriverChangedProcInfo = 0x000000F0,
  1582.         uppSGSetSoundRecordChunkSizeProcInfo = 0x000003F0,
  1583.         uppSGGetSoundRecordChunkSizeProcInfo = 0x000000F0,
  1584.         uppSGSetSoundInputRateProcInfo = 0x000003F0,
  1585.         uppSGGetSoundInputRateProcInfo = 0x000000F0,
  1586.         uppSGSetSoundInputParametersProcInfo = 0x00003AF0,
  1587.         uppSGGetSoundInputParametersProcInfo = 0x00003FF0,
  1588.         uppSGSetAdditionalSoundRatesProcInfo = 0x000003F0,
  1589.         uppSGGetAdditionalSoundRatesProcInfo = 0x000003F0,
  1590.         uppSGSetFontNameProcInfo = 0x000003F0,
  1591.         uppSGSetFontSizeProcInfo = 0x000002F0,
  1592.         uppSGSetTextForeColorProcInfo = 0x000003F0,
  1593.         uppSGSetTextBackColorProcInfo = 0x000003F0,
  1594.         uppSGSetJustificationProcInfo = 0x000002F0,
  1595.         uppSGGetTextReturnToSpaceValueProcInfo = 0x000003F0,
  1596.         uppSGSetTextReturnToSpaceValueProcInfo = 0x000002F0,
  1597.         uppSGGetInstrumentProcInfo = 0x000003F0,
  1598.         uppSGSetInstrumentProcInfo = 0x000003F0
  1599.     };
  1600.  
  1601. #endif    /* SG_BASENAME */
  1602.  
  1603. /*
  1604.     Example usage:
  1605.  
  1606.         #define QTVIDEOOUTPUT_BASENAME()    Fred
  1607.         #define QTVIDEOOUTPUT_GLOBALS()    FredGlobalsHandle
  1608.         #include <QuickTimeComponents.k.h>
  1609.  
  1610.     To specify that your component implementation does not use globals, do not #define QTVIDEOOUTPUT_GLOBALS
  1611. */
  1612. #ifdef QTVIDEOOUTPUT_BASENAME
  1613.     #ifndef QTVIDEOOUTPUT_GLOBALS
  1614.         #define QTVIDEOOUTPUT_GLOBALS() 
  1615.         #define ADD_QTVIDEOOUTPUT_COMMA 
  1616.     #else
  1617.         #define ADD_QTVIDEOOUTPUT_COMMA ,
  1618.     #endif
  1619.     #define QTVIDEOOUTPUT_GLUE(a,b) a##b
  1620.     #define QTVIDEOOUTPUT_STRCAT(a,b) QTVIDEOOUTPUT_GLUE(a,b)
  1621.     #define ADD_QTVIDEOOUTPUT_BASENAME(name) QTVIDEOOUTPUT_STRCAT(QTVIDEOOUTPUT_BASENAME(),name)
  1622.  
  1623.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(GetDisplayModeList) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA QTAtomContainer * outputs);
  1624.  
  1625.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(GetCurrentClientName) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA Str255  str);
  1626.  
  1627.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(SetClientName) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA ConstStr255Param  str);
  1628.  
  1629.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(GetClientName) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA Str255  str);
  1630.  
  1631.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(Begin) (QTVIDEOOUTPUT_GLOBALS());
  1632.  
  1633.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(End) (QTVIDEOOUTPUT_GLOBALS());
  1634.  
  1635.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(SetDisplayMode) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA long  displayModeID);
  1636.  
  1637.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(GetDisplayMode) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA long * displayModeID);
  1638.  
  1639.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(CustomConfigureDisplay) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA ModalFilterUPP  filter);
  1640.  
  1641.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(SaveState) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA QTAtomContainer * state);
  1642.  
  1643.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(RestoreState) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA QTAtomContainer  state);
  1644.  
  1645.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(GetGWorld) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA GWorldPtr * gw);
  1646.  
  1647.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(GetGWorldParameters) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA Ptr * baseAddr, long * rowBytes, CTabHandle * colorTable);
  1648.  
  1649.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(GetIndSoundOutput) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA long  index, Component * outputComponent);
  1650.  
  1651.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(GetClock) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA ComponentInstance * clock);
  1652.  
  1653.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(SetEchoPort) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA CGrafPtr  echoPort);
  1654.  
  1655.  
  1656.     /* MixedMode ProcInfo constants for component calls */
  1657.     enum {
  1658.         uppQTVideoOutputGetDisplayModeListProcInfo = 0x000003F0,
  1659.         uppQTVideoOutputGetCurrentClientNameProcInfo = 0x000003F0,
  1660.         uppQTVideoOutputSetClientNameProcInfo = 0x000003F0,
  1661.         uppQTVideoOutputGetClientNameProcInfo = 0x000003F0,
  1662.         uppQTVideoOutputBeginProcInfo = 0x000000F0,
  1663.         uppQTVideoOutputEndProcInfo = 0x000000F0,
  1664.         uppQTVideoOutputSetDisplayModeProcInfo = 0x000003F0,
  1665.         uppQTVideoOutputGetDisplayModeProcInfo = 0x000003F0,
  1666.         uppQTVideoOutputCustomConfigureDisplayProcInfo = 0x000003F0,
  1667.         uppQTVideoOutputSaveStateProcInfo = 0x000003F0,
  1668.         uppQTVideoOutputRestoreStateProcInfo = 0x000003F0,
  1669.         uppQTVideoOutputGetGWorldProcInfo = 0x000003F0,
  1670.         uppQTVideoOutputGetGWorldParametersProcInfo = 0x00003FF0,
  1671.         uppQTVideoOutputGetIndSoundOutputProcInfo = 0x00000FF0,
  1672.         uppQTVideoOutputGetClockProcInfo = 0x000003F0,
  1673.         uppQTVideoOutputSetEchoPortProcInfo = 0x000003F0
  1674.     };
  1675.  
  1676. #endif    /* QTVIDEOOUTPUT_BASENAME */
  1677.  
  1678.  
  1679. #endif /* __QUICKTIMECOMPONENTS_K__ */
  1680.  
  1681.